作者vulurn (克难)
看板C_Sharp
标题[问题] Linq关於"字串长度必须刚好一个字元"错误
时间Mon Nov 28 11:20:33 2011
查过MSDN,这个错误似乎是个bug
例如我的sql:
table name: customer
column: cust_id; type:varchar(8)
linq code:
DataClassesDataContext dcc = new DataClassesDataContext();
//以下这段出现错误
CUSTOMER customer = dcc.CUSTOMER.SingleOrDefault(c =>
c.cust_id.Equals(id)); //id为登入者之session,长度为8
if(string.IsNullOrEmpty(customer.form)) //如果该栏为null(未设定过)
{
customer.form = formsrl; //formsrl为web中要给使用者选择更改的值
}
else
{
//...
}
错误讯息为"字串长度必须刚好一个字元。"
(A character string length must be exactly)
查过网路似乎为一个vs2008的bug,不知道有没有解?@@
之後是改用SqlCommand的旧方法直接下update指令结果ok
linq就一直出现这种错误...orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.140.36
1F:推 knifehandz:VS2008 的 bug 是在於 varchar(1) 对应成 char 12/01 06:34
2F:→ knifehandz:你的资料表设计有 varchar(1) 就有可能,解决方式是 12/01 06:35
3F:→ knifehandz:手动改 EF 的 char 型别为 string 12/01 06:35
4F:→ vulurn:感谢~资料表还真的是varchar(1) 12/01 13:00
5F:→ vulurn:虽然是跟session不同栏位,不过看来也是会影响到? 12/01 13:03