Moh*_*ian 4 c# entity-framework entity-framework-core ef-core-3.0
我想使用 EF Core 更新我的实体。这两种方法中哪一种更有效且更好用。
Context.Entry(entity).State = EntityState.Modified
Context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
下一个是
var exist = entities.Find(entity.Id);
Context.Entry(exist).CurrentValues.SetValues(entity);
Context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
两个主题都可以完成工作,但哪个更好?
这取决于你的情况。第一个,据我了解应该重写数据库中的整个实体。如果上下文尚未跟踪实体,第二个可能会向数据库发出额外的请求,但应该仅更新实际已更改的字段。因此,如果您启用了更改跟踪并且已经将实体提取到上下文中,并且有很多列(或包含大量数据并且可以通过 EF 进行比较的列),那么第二个应该会更快。在其他情况下 - 第一个可以。
| 归档时间: |
|
| 查看次数: |
2409 次 |
| 最近记录: |