Мне нравится идея Разделение запросов команд , но я не понимаю, как использовать ее в действии контроллера MVC, которое добавляет объект и нуждается в новом объекте. ID после его добавления.
Например, в приведенном ниже упрощенном примере служба используется для создания нового элемента.:
public ActionResult Assign(AssignViewModel viewModel)
{
var newItem = _AssignItemService.AssignItem(viewModel.ItemName, viewModel.ItemValue);
return RedirectToAction("ListItem", new {id = newItem.Id);
}
Но когда я перенаправляюсь на действие, которое будет отображать новый элемент, мне нужно знать идентификатор вновь созданного элемента., чтобы его можно было извлечь из базы данных. Поэтому я должен попросить службу вернуть только что созданный элемент (или, по крайней мере, его идентификатор ).
В чистом CQS команда не имеет возвращаемого значения, поэтому приведенный выше шаблон недействителен.
С благодарностью приму любые советы.