c# - 如何忽略 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。
解决方案
如果您尝试忽略实体中的属性,则需要在类中向该属性添加 [NotMapped] 属性。更多文档:https ://docs.microsoft.com/en-us/ef/core/modeling/included-properties
此外,似乎出现的错误更多地与您尝试修改主键或索引有关。我看到这实际上是在这里回答的:https ://stackoverflow.com/a/12397981/1670574
推荐阅读
- laravel - 使用 guzzle 将表单数据传递给 rest web api
- vue.js - Cannot find module '@babel/preset-env/data/built-ins.json'
- php - 在手机上使用 jQuery 更改背景图像 URL(使用内联 CSS 和 PHP 添加)
- javascript - 使用 RxJS 运算符或普通 Typescript 将数组中的对象分组?
- ios - iOS 应用内购买订阅显示区域设置的货币不正确
- c# - 如何在 WCF 中实现可靠的 UDP 传输?
- azure-devops - 使用 Azure DevOps 任务“Azure App Service Deploy”v3 部署到 Azure Web App Web 根目录
- docker - Docker 和 gitlab-runner 中的 Gitlab CE
- scala - Scala、Cats 和 Couchbase - 如何将这三样东西连接在一起?
- python - Python浮点可以被另一个浮点整除