Я относительно новичок в 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, и в В случае «обновления» ВСЕ из них будут модифицированы? Я не нашел объяснения, почему использование «Обновления» было бы предпочтительнее, или наоборот.
Спасибо.