首页 新闻 搜索 专区 学院

LINQ 修改数据库出现-指定转换无效的错误

0
[已解决问题] 解决于 2010-11-09 10:58

protected void Button4_Click(object sender, EventArgs e)
{
linqtosqlDataContext db
= new linqtosqlDataContext();
EntitySet
<LeaveWord> leaveword = db.Member.Single(u => u.Accounter.Equals("xb")).LeaveWord;
leaveword.Remove(leaveword[
4]);
leaveword.RemoveAt(
5);
leaveword.Clear();
db.SubmitChanges();
Label4.Text
=leaveword.Count.ToString();
}
以上三种修改数据库的方法都会引起指定转换无效的错误,还有下面的方法也会引起同样的错误
protected void Button7_Click(object sender, EventArgs e)
{
linqtosqlDataContext db
= new linqtosqlDataContext();
EntitySet
<LeaveWord> leaveword1 = db.Member.Single(u => u.Accounter.Equals("xb")).LeaveWord;
EntitySet
<LeaveWord> leaveword2 = db.Member.Single(u => u.Accounter.Equals("GJ")).LeaveWord;
leaveword2.Assign(leaveword1);
db.SubmitChanges();

}

 

何塞穆里尼奥的主页 何塞穆里尼奥 | 初学一级 | 园豆:129
提问于:2010-11-05 18:39
< >
分享
最佳答案
0

什么错误?可以具体说一下吗

天神一 | 小虾三级 |园豆:845 | 2010-11-05 18:53
指定转换无效 网上有些说是主键问题 可我设置了主键 还有说ASP.NET 3.5的bug 4.0就没问题
何塞穆里尼奥 | 园豆:129 (初学一级) | 2010-11-05 18:57
哦,原来这样呀
天神一 | 园豆:845 (小虾三级) | 2010-11-05 18:58
原因已查明,是3.5的bug,4.0下是可以的。
何塞穆里尼奥 | 园豆:129 (初学一级) | 2010-11-09 10:58
其他回答(2)
0
u => u.Accounter.Equals("xb")
-----------------
Linq2SQL,可能不支持将这个表达式转换成SQL的where条件,试下
u => u.Accounter == "xb"
Silent Void | 园豆:107 (初学一级) | 2010-11-06 22:28
Linq2SQL是支持查询表达式的,查询跟添加我都是用的这个表达式,都没问题。唯独删除出现问题了,我想Assign也算修改吧,所以好像修改也会出现该类问题? 另外,u => u.Accounter == "xb"也是没有任何改观。。。
支持(0) 反对(0) 何塞穆里尼奥 | 园豆:129 (初学一级) | 2010-11-07 10:56
把完整的错误堆栈信息贴出来看看。
支持(0) 反对(0) Silent Void | 园豆:107 (初学一级) | 2010-11-08 05:36
原因已查明,是3.5的bug,4.0下是可以的。
支持(0) 反对(0) 何塞穆里尼奥 | 园豆:129 (初学一级) | 2010-11-09 10:57
0

没有完整代码很难找到是什么错误的。。最好把整个项目文件啊传上来。。这样我们可以下载下来调试。

牛腩 | 园豆:-6 (初学一级) | 2010-11-08 08:57
原因已查明,是3.5的bug,4.0下是可以的。
支持(0) 反对(0) 何塞穆里尼奥 | 园豆:129 (初学一级) | 2010-11-09 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册