Мое приложение имеет один объект под названием Клиент.У клиента есть свойство под названием status.Я хочу обновить статус нескольких клиентов на основе ввода пользователя.
Код:
public async Task UpdateStatus(List<ClientModel> clients, string modifyUserId)
{
var clientsToUpdate = clients.Select(x => new ClientViewModel { Id = x.Id, Status = x.StatusCd, ModifyDt = DateTime.UtcNow, MdfyUserId = modifyUserId != null ? modifyUserId : string.Empty});
var parameters = new List<IDbDataParameter>();
foreach (var client in clientsToUpdate)
{
parameters.Add(dbManager.CreateParameter("@ClientId", 4, client.Id, DbType.Int32, ParameterDirection.InputOutput));
parameters.Add(dbManager.CreateParameter("@ModifyDt", client.ModifyDt, DbType.DateTime));
parameters.Add(dbManager.CreateParameter("@ModifyUserId", client.MdfyUserId, DbType.Int32));
await dbManager.ExecuteNonQuery(Constants.StoredProcedures.UpdateClientStatus, CommandType.StoredProcedure, parameters.ToArray());
parameters.Clear();
}
}
Здесь, в приведенном выше коде, вызов идет в базу данных для каждого клиента, которого я хочу улучшить.Есть ли способ обновить статус нескольких клиентов за один раз?