首页 > 解决方案 > 如何忽略 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。

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

解决方案


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

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


推荐阅读