Wie ordne ich View Model in einer POST-Aktion wieder dem Domain Model zu?

Jeder Artikel im Internet über die Verwendung von ViewModels und die Verwendung von Automapper enthält die Richtlinien für die Richtungszuordnung "Controller -> View". Sie nehmen ein Domänenmodell zusammen mit allen Auswahllisten in ein spezialisiertes ViewModel und übergeben es an die Ansicht. Das ist klar und gut.
Die Ansicht hat ein Formular und schließlich befinden wir uns in der POST-Aktion. Hier kommen alle Model Binder mit zum Einsatz[offensichtlich] eine andere Modell anzeigen, das ist[offensichtlich] verwandt zumindest im Teil der Namenskonventionen zwecks Bindung und Validierung auf das ursprüngliche ViewModel zurückgreifen.

Wie ordnen Sie es Ihrem Domain-Modell zu?

Lassen Sie es eine Einfügeaktion sein, wir könnten den gleichen Automapper verwenden. Was aber, wenn es sich um eine Update-Aktion handelte? Wir müssen unsere Domänenentität aus dem Repository abrufen, ihre Eigenschaften gemäß den Werten im ViewModel aktualisieren und im Repository speichern.

ADDENDUM 1 (9. Februar 2010): Manchmal reicht es nicht aus, Modelleigenschaften zuzuweisen. Gemäß den Werten von View Model sollten einige Maßnahmen gegen das Domänenmodell ergriffen werden. Das heißt, einige Methoden sollten im Domänenmodell aufgerufen werden. Wahrscheinlich sollte es eine Art Application Service-Schicht geben, die zwischen Controller und Domain steht, um View Models zu verarbeiten ...

Wie organisiert man diesen Code und wo platziert man ihn, um die folgenden Ziele zu erreichen?

Controller dünn haltenSoC-Praxis zu ehrenBefolgen Sie die Domain-Driven Design-Prinzipientrocken seinFortsetzung folgt ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage