Использование принципа разделения команд -Query Separation в контроллерах MVC

Мне нравится идея Разделение запросов команд , но я не понимаю, как использовать ее в действии контроллера MVC, которое добавляет объект и нуждается в новом объекте. ID после его добавления.

Например, в приведенном ниже упрощенном примере служба используется для создания нового элемента.:

public ActionResult Assign(AssignViewModel viewModel)
{
     var newItem = _AssignItemService.AssignItem(viewModel.ItemName, viewModel.ItemValue);

     return RedirectToAction("ListItem", new {id = newItem.Id);
}

Но когда я перенаправляюсь на действие, которое будет отображать новый элемент, мне нужно знать идентификатор вновь созданного элемента., чтобы его можно было извлечь из базы данных. Поэтому я должен попросить службу вернуть только что созданный элемент (или, по крайней мере, его идентификатор ).

В чистом CQS команда не имеет возвращаемого значения, поэтому приведенный выше шаблон недействителен.

С благодарностью приму любые советы.

6
задан Robert Harvey 3 May 2012 в 14:58
поделиться