我对 EntityFrameworkCore 比较陌生。我看到了一些使用 Update 函数的代码,这引起了我的注意。问题基本上是“为什么要使用它?”
有什么区别:
var m = await context.MyModel.Where(e => e.Id == model.Id).FirstOrDefaultAsync();
if (m != null)
{
m.Foo = model.Foo;
m.Bar = model.Bar;
context.MyModel.Update(m);
await context.SaveChangesAsync();
}
和
var m = await context.MyModel.Where(e => e.Id == model.Id).FirstOrDefaultAsync();
if (m != null)
{
m.Foo = model.Foo;
m.Bar = model.Bar;
await context.SaveChangesAsync();
}
从我已经阅读的内容来看,更新会将 MyModel 中的所有属性标记为已修改,但是这两者之间的结果有什么区别?据我所知,当我调用“SaveChanges”时,无论“更新”如何,修改后的字段都将被保存,不同之处在于,如果我不“更新”,唯一将被修改的两个属性是 Foo 和 Bar,并且在“更新”的情况下所有这些都将被修改?我没有找到任何解释为什么使用“更新”更可取,反之亦然。
UYOU
相关分类