Чтобы обновить запись сервера SQL с помощью Entity Framework Core, я запрашиваю запись, которую мне нужно обновить, вношу изменения в объект и затем вызываю .SaveChanges()
. Это работает красиво и чисто.
Например:
var emp = _context.Employee.FirstOrDefault(item => item.IdEmployee == Data.IdEmployee);
emp.IdPosition = Data.IdPosition;
await _context.SaveChangesAsync();
Но есть ли стандартный метод, если я хочу обновить несколько записей?
Мой первый подход заключался в использовании списка, передающего его контроллеру , но тогда мне нужно было бы go просматривать этот список и каждый раз сохранять изменения, я никогда не заканчивал этот вариант, так как считал его не оптимальным.
Сейчас я делаю вместо того, чтобы передавать список в контроллер, я передаю каждый объект контроллеру с помощью for. (вроде то же самое ...)
for(int i = 0; i < ObjectList.Count; i ++)
{
/* Some code */
var httpResponseObject = await MyRepositories.Post<Object>(url+"/Controller", Object);
}
А затем сделайте то же самое на контроллере, что и раньше, при обновлении только одной записи для каждой из записей ...
Я не считаю, что это лучший из возможных подходов, но я пока не нашел другого пути.
Каким будет оптимальный способ сделать это?