2011-11-17 42 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或依賴注入,而不僅僅適用於視圖模型,則可以使用泛型。

相關問題