【发布时间】:2019-02-07 20:58:58
【问题描述】:
我做了一项研究,到目前为止我没有发现任何东西。感谢您的帮助。
正如标题所说,我正在通过查询向我的 DbContext 添加一条记录,如果它返回一个空值,则我创建该记录。否则,我修改它。
我的问题是:这是一个好的做法还是我不应该这样做?代码是这样的:
var desiredEntity = MyDbContext.SingleOrDefault(x => x.Name == "Rob");
if (desiredEntity == null)
{ desiredEntity = new DbSetOfEntity()... //create if doesn't exists }
else
{ desiredEntity.ValueToModify == 3; }
MyDbContext.SaveChanges()
这与显式创建实体并使用 DbContext.Add() 方法添加它有什么区别?
编辑: 问了一个类似的问题here,但我不想使用 AddOrUpdate 方法或 Attach 并手动更改实体的状态。我只想知道我的方法是否没有问题,以及使用传统的 .Add(myEntity) 方法有什么区别。
【问题讨论】:
-
不,我不需要 Attach 方法或 AddOrUpdate 方法。我编辑了这个问题,只是想了解一下我的方法:) 如果有人有一些关于此的文档链接,那就太好了。
-
我不明白你为什么不想使用 AddOrUpdate。但你所做的不一定是坏习惯。
标签: c# .net entity-framework-5