如何忽略Entity Framework 6 for Update中的属性?

时间:2018-08-29 12:41:59

标签: c# entity-framework entity-framework-6

我目前正在尝试使用 Entity Framework 6 更新,并且在数据库中遇到了 PK 属性,我不想编辑该属性,但是找不到该属性忽略它的正确方法。

myobj aux = new obj(){
//code
};

using (var context = new ModelEntity())
{
    var item = context.mytable.Find(id);
     context.Entry(item).CurrentValues.SetValues(aux);
     context.SaveChanges();
}

我收到错误:属性'xxxx'是对象的键信息的一部分,无法修改。 '

我已经搜索了某种忽略,却一无所获。 我发现的只是EF4和5。

1 个答案:

答案 0 :(得分:1)

如果您尝试忽略实体中的属性,则需要在类中的该属性上添加[NotMapped]属性。此处提供更多文档:https://docs.microsoft.com/en-us/ef/core/modeling/included-properties

此外,似乎出现的错误与尝试修改主键或索引有关。我看到这实际上是在这里回答的:https://stackoverflow.com/a/12397981/1670574