【探索发现】System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException 对象的当前状态使该操作无效。

 今天网上朋友提到的一个错误问题,我之前没有遇见过

 问题表述:

有两个表的关系是这样的

用Linq生成相关代码。

程序这样做:

        

然后,就报了错误:

 System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException 对象的当前状态使该操作无效。

其实,解决的办法就是去掉那个msg.MessageType = msg.MessageType; 赋值过程

这个可以用反编译查看一下,

那么这样就把那个状态值改成了Assigned。

所以,如果再次赋值msg.msgtypeid = 1;的话,在这个位置上就有了问题了。

看看里面

问题就在这里了,这个在之前已经被设置为Assigned了所以这里运行报错!!!

希望,如果下次大家不要再为它郁闷了~ 呵呵

posted on 2011-05-23 23:00  --Sam--  阅读(1311)  评论(0编辑  收藏  举报