2012-10-28 282 views
0

我有一個「小」企業應用程序,aspnet mvc 3 +實體框架與POCO實體和存儲庫模式。我的結構在4個項目的解決方案:Asp.net mvc,實體框架,Poco - 架構

  1. POCO實體
  2. 領域模型
  3. 服務
  4. Web應用程序

當應用程序對數據庫執行查詢,使用的一個提供的服務,該服務使用存儲庫和小類,結果我有一些動態代理對象,我想在我的域實體中進行轉換,然後在mvc視圖中使用它們,但我不知道如何。 Dovrebber被設置爲翻譯員?

這種方法是否合理?

+1

我通常會做的是創建「ViewModel」類,它們代表將傳遞到我的視圖中的數據。如果您有輸入表單或其他元數據,這些類可以具有驗證屬性。正如@ekolis所建議的那樣,您可以使用AutoMapper或者手動將POCO實體映射到您的ViewModel類。這對我來說也是一些必要的時間,因爲有時我的POCO實體有循環引用,並迫使我翻譯成不同的類。 – Makotosan

回答

0

AutoMapper便於將對象從一種類型轉換爲另一種類型。如果所有目標類型屬性都具有相應的命名源類型屬性,並且可以使用lambda表達式輕鬆地手動映射任何不匹配的屬性,它通常會「做正確的事情」。