对于以下代码,获取消息:
无法附加已存在的实体。
C#代码:
var con = (from c in cmsContentTable where c.ContentName == contentId select c).FirstOrDefault();
cmsContentTable.Attach(con);
con.ContentData = "New Value";
cmsContentTable.Context.SubmitChanges();
为什么会出现此错误 - 这是因为已经提出了对con的引用 什么时候
var con = (from c in cmsContentTable where c.ContentName == contentId select c).FirstOrDefault();
完成了吗?
答案 0 :(得分:4)
由于您已经从表中获取该项目:
var con = (from c in cmsContentTable where c.ContentName == contentId select c).FirstOrDefault();
上下文已经“附加”到对象上。每当从表中提取已存在的对象时都是如此。
如果删除该行:
cmsContentTable.Attach(con);
你应该没事。
更有用的消息是“无法附加到已附加到上下文的实体”,因为这实际上正在发生。