Como mapear o View Model de volta ao Domain Model em uma ação POST?

Todo artigo encontrado na Internet sobre o uso do ViewModels e a utilização do Automapper fornece as diretrizes do mapeamento de direção "Controller -> View". Você pega um modelo de domínio junto com todas as Listas de Seleção em um ViewModel especializado e o passa para a visualização. Isso é claro e bom.
A visualização tem uma forma e, finalmente, estamos na ação POST. Aqui todos os Model Binders entram em cena junto com[obviamente] outro Ver modelo que é[obviamente] relacionado ao ViewModel original, pelo menos na parte das convenções de nomenclatura, para fins de ligação e validação.

Como você o mapeia para o seu Modelo de Domínio?

Seja uma ação de inserção, poderíamos usar o mesmo Automapper. Mas e se fosse uma ação de atualização? Temos que recuperar nossa Entidade de Domínio do Repositório, atualizar suas propriedades de acordo com os valores no ViewModel e salvar no Repositório.

ADENDO 1 (9 de fevereiro de 2010): Às vezes, atribuir propriedades do modelo não é suficiente. Deve-se tomar alguma ação contra o Modelo de Domínio de acordo com os valores do Modelo de Visualização. Ou seja, alguns métodos devem ser chamados no Modelo de Domínio. Provavelmente, deve haver um tipo de camada de Serviço de Aplicativo que fica entre o Controller e o Domínio para processar View Models ...

Como organizar esse código e onde colocá-lo para alcançar os seguintes objetivos?

mantenha os controladores finoshonrar a prática do SoCsiga os princípios de design orientado a domínioestar SECOcontinua ...

questionAnswers(4)

yourAnswerToTheQuestion