提问人:Doe 提问时间:1/5/2018 更新时间:1/6/2018 访问量:32
实体框架自动确定是更新还是创建实体
Entity Framework auto-determination whether to update or create entity
问:
我是 EF 的新手。 在互联网上搜索了几个小时后,我想在这里提出我的问题。
EF 中是否真的没有内置机制来确定是更新还是创建实体?
假设我有一个 POCO 对象列表,并希望将它们保存到数据库中。
现在我真的必须通过上下文区分实体是否已经存在(更新)或不存在(插入)。添加并在处理之前必须进行查找?
我预计,当主键字段为 null 或为空时,EF 将自动执行插入,否则会进行更新?
答:
1赞
dropoutcoder
1/6/2018
#1
伊万斯托耶夫在他的评论中提到,简短的回答是
不。您有责任告诉 EF 该怎么做。
但是您可以使用一个技巧。 命名空间中的扩展方法。AddOdUpdate
System.Data.Entity.Migrations
无论如何,我确实认为在您的情况下使用它不是一个好主意。你应该控制你在代码中所做的事情,每次你试图破解某些东西时,都意味着你没有正确地做。我建议您阅读附件链接。
相关链接:
评论
0赞
Ivan Stoev
1/6/2018
另一点反对是它不能很好地与导航属性一起使用。我从不使用它,也不建议将它用于简单的实体播种以外的任何事情。通过应用断开连接的实体修改来解决该问题的唯一尝试是第三方包 GraphDiff。AddOrUpdate
评论