Я работаю над проектом, который позволяет пользователю редактировать список сущностей. Я сопоставляю эти объекты для просмотра моделей и отображения их с полями редактора. Когда пользователь нажимает кнопку отправки, я просматриваю каждую модель и обновляю ее так:
foreach (var viewModel in viewModels)
{
//Find the database model and set the value and update
var entity = unit.EntityRepository.GetByID(fieldModel.ID);
entity.Value = viewModel.Value;
unit.EntityRepository.Update(entity);
}
Приведенный выше код работает, однако, как вы можете видеть, нам нужно дважды ударить базу данных для каждого объекта (один раз для извлечения, а другой - для обновления). Есть ли более эффективный способ сделать это с помощью Entity Framework? Я заметил, что каждое обновление генерирует отдельный оператор SQL. Есть ли способ выполнить все обновления после завершения цикла?