我有一個「小」企業應用程序,aspnet mvc 3 +實體框架與POCO實體和存儲庫模式。我的結構在4個項目的解決方案:Asp.net mvc,實體框架,Poco - 架構
- POCO實體
- 領域模型
- 服務
- Web應用程序
當應用程序對數據庫執行查詢,使用的一個提供的服務,該服務使用存儲庫和小類,結果我有一些動態代理對象,我想在我的域實體中進行轉換,然後在mvc視圖中使用它們,但我不知道如何。 Dovrebber被設置爲翻譯員?
這種方法是否合理?
我有一個「小」企業應用程序,aspnet mvc 3 +實體框架與POCO實體和存儲庫模式。我的結構在4個項目的解決方案:Asp.net mvc,實體框架,Poco - 架構
當應用程序對數據庫執行查詢,使用的一個提供的服務,該服務使用存儲庫和小類,結果我有一些動態代理對象,我想在我的域實體中進行轉換,然後在mvc視圖中使用它們,但我不知道如何。 Dovrebber被設置爲翻譯員?
這種方法是否合理?
AutoMapper便於將對象從一種類型轉換爲另一種類型。如果所有目標類型屬性都具有相應的命名源類型屬性,並且可以使用lambda表達式輕鬆地手動映射任何不匹配的屬性,它通常會「做正確的事情」。
不知道正在使用的「小類」是什麼,但我認爲您會希望使用某些IOC來將您的資源庫注入服務層。在這裏看到更多:http://msdn.microsoft.com/en-us/magazine/dd942838.aspx#id0420033
我通常會做的是創建「ViewModel」類,它們代表將傳遞到我的視圖中的數據。如果您有輸入表單或其他元數據,這些類可以具有驗證屬性。正如@ekolis所建議的那樣,您可以使用AutoMapper或者手動將POCO實體映射到您的ViewModel類。這對我來說也是一些必要的時間,因爲有時我的POCO實體有循環引用,並迫使我翻譯成不同的類。 – Makotosan