无法附加已存在的实体

本文关键字:存在 实体 | 更新日期: 2023-09-27 18:20:24

对于以下代码,获取消息:

无法附加已存在的实体。

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();

完成了吗?

无法附加已存在的实体

由于您已经从表中获取项目:

var con = (from c in cmsContentTable where c.ContentName == contentId select    c).FirstOrDefault();

上下文已"附加"到对象。无论何时从表中提取已存在的对象,都是如此。

如果删除行:

cmsContentTable.Attach(con);

你应该没事的。

一个更有用的消息是"无法附加到已经附加到上下文的实体",因为这就是实际发生的情况。