2011-11-17 20 views
3

在viewmodel中返回模型的方法不是更好吗?为什么在MVC3中推荐使用automapper来映射viewmodel中的值?

我认为这样更有条理,因为viewmodel负责它将如何被映射。但也许有一些好的理由不这样做。

编辑:我想我的问题,特别是要求automapper,是比较的方式映射控制器中的值,而不是有viewmodel返回模型。

+0

下面是一个采取 - http://lostechies.com/jimmybogard/2009/06/30/how-we-do-mvc-view-models/ – jrummell

回答

4

建议不要使用AutoMapper来映射域模型和视图模型之间的值。如果你愿意,你可以手动做这种映射,但你冒险很快就会感到无聊。你也可以使用任何你感觉舒适的映射技术。我个人喜欢并使用AutoMapper,因为我觉得它很容易。

重要的是要有控制器的动作总是通过/从视图传递视图模型。

+0

为什么不建议使用AutoMapper进行域模型之间的映射并查看模型? – jrummell

+1

@ jrummell,我个人推荐并使用AutoMapper。我的答案是,你可以使用任何你喜欢的地图软件,它只是一个帮助绘图的工具。 –

+0

这样做更有意义。感谢澄清。 – jrummell

3

根本不推荐使用Automapper。您有自己的选择,并且Automapper也有许多替代方案,例如OTIS和ObjectCastor。您也可以在代理或函数中编写自己的绑定,并重新使用它。

然而,我个人发现的Automapper是相当轻量级的,如果您使用IOC或依赖注入,而不仅仅适用于视图模型,则可以使用泛型。

相关问题