我正在尝试使用EF 6.1更改行中的字段,并且收到以下错误:
属性'Modified'是对象的关键信息的一部分 无法修改。
然而,修改不是主键,也不是任何化合物PK的一部分。
然而,这是我搜索条件的一部分。
var item = _src.Items.Where(x => x.Modified).OrderBy(x => x.DateModified).FirstOrDefault();
...
MarkItemAsSynced(item)
private void MarkItemAsSynced(Item item)
{
item.Modified = false;
_src.SaveChanges(); <<<< ERROR THORWN
}
可能导致此问题的原因是什么?
再次确认,项目“已修改”不是PK。
表确实有一个定义的PK。
模特课程:
public partial class Item
{
public int Id { get; set; }
...
public bool Modified { get; set; }
}
}
答案 0 :(得分:0)
它似乎是一个损坏或错误映射的数据模型。
我通过执行以下操作修复了它:
之后它正常工作。
我的假设是,EF在某种程度上错误地将Modified字段映射到数据库中的OK。