Могу ли я устранить этот цикл for с помощью вызова ExecuteUpdate в EF Core?C#

Место общения программистов C#
Ответить
Anonymous
 Могу ли я устранить этот цикл for с помощью вызова ExecuteUpdate в EF Core?

Сообщение Anonymous »

У меня есть вызов ExecuteUpdate ниже внутри цикла for, и я хочу знать, можно ли исключить цикл for? Я знаю, что могу использовать список в предложенииwhere для всех идентификаторов пользователей, но не уверен насчет SetProperty
foreach (var registrant in yogabandEvent.Registrants)
{
result = await _dbContext.Users
.Where(p => p.Id == registrant.UserId)
.ExecuteUpdateAsync(setters => setters
.SetProperty(p => p.Attended, registrant.RegistrantType == RegistrantType.Student ? p => p.Attended + 1 : p => p.Attended)
.SetProperty(p => p.Hosted, (registrant.RegistrantType == RegistrantType.Host || registrant.RegistrantType == RegistrantType.HostInstructor) ? p => p.Hosted + 1 : p => p.Hosted)
.SetProperty(p => p.Instructed, registrant.RegistrantType == RegistrantType.Instructor ? p => p.Instructed + 1 : p => p.Instructed)
);
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... in-ef-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»