互联网上关于使用 ViewModel 和 Automapper 的每篇文章都给出了“ Controller-> View”方向映射的指导方针。您将一个域模型与所有选择列表一起放入一个专门的 ViewModel 中,并将其传递给视图。很清楚,没问题。
视图有一个表单,最终我们将处于 POST 操作中。在这里,所有的模型绑定器和 [显然]另一个视图模型一起出现,[显然]另一个视图模型是原来的视图模型的 [显然]有关联,至少在为了绑定和验证的命名约定方面是这样的。
如何将它映射到域模型?
假设它是一个插入操作,我们可以使用相同的自动化程序。但如果是更新操作呢?我们必须从 Repository 中检索域实体,根据 ViewModel 中的值更新它的属性,然后保存到 Repository 中。
附录1(2010年2月9日) : 有时,分配 Model 的属性是不够的。应该根据视图模型的值对域模型采取一些行动。也就是说,有些方法应该在域模型上调用。也许,在 Controller 和 Domain 之间应该有一种应用程序服务层,以便处理视图模型..。
如何组织此代码以及将其放在何处以实现以下目标?