В настоящее время у меня есть общий метод в моем веб-API, который берет коллекцию и сохраняет ее в базе данных.Я добавляю имя пользователя, снова просматривая всю коллекцию и добавляя имя пользователя.
Я чувствую, что это неэффективно, и я хотел бы написать что-то общее, чтобы я мог добавить имя пользователя во время привязки модели или когда я использую autopper.Интересно, есть ли более эффективный способ сделать это, чем мой нынешний подход:
[HttpPost("collections")]
public async virtual Task<IActionResult> PostCollection([FromBody] IEnumerable<DtoPostType> dtoCollection)
{
try
{
var principal = HttpContext.User.Identity as ClaimsIdentity;
var entitiesToSave = _mapper.Map<List<T>>(dtoCollection);
foreach (T item in entitiesToSave)
{
if (ModelState.IsValid)
{
item.CreatedUser = principal.Name;
_repo.Create<T>(item);
}
else
{
return BadRequest(ModelState);
}
}
await _repo.SaveAsync();
return Ok();
}
catch (Exception exp)
{
_logger.LogCritical($"There was an issue with mapping for {exp}");
return BadRequest(exp);
}
}