我必須逐步替換ASP.NET Web Forms應用程序與ASP.NET MVC3分層應用程序。我們只考慮存儲庫圖層。如何在ASP.NET MVC中爲數據庫視圖建模MVC
在我的新MVC應用程序我有數據(名稱MVC.Data
),一個用於網絡一個項目。
在MVC.Data
我有一個EDMX文件與EF類,模型只是數據庫表(無意見),和程序存儲庫類myRepository
其中規定執行簡單的查詢方法。
在舊的Web Forms應用程序中,我有一個GridView
,它使用DataSource
填充爲SQL數據庫視圖。
爲了在我的新MVC3應用程序相同的結果,我有兩個選擇:
1)創建一個服務層(和項目MVC.Services
),在那裏我有,填補了一類新的方法myViewClass
其中包含SQL DB視圖的所有字段並將其提供給控制器。
2)在MVC.Data
項目中創建一個類,該類由其構造函數直接使用LINQ語句直接對EF類進行填充。
我看了一下工廠模式和第一解決方案似乎是最合適的,但許多人總是建議不要創建服務層如果不需要它。這種情況下最好的選擇是什麼?
謝謝。其實我的意思不是ViewModel本身,而是之前的一步。我有一個ProductId表字段的產品,其他字段作爲其他表的外鍵。我必須創建一個Product類,其中所有外鍵都由該表的字段名稱替換 – CiccioMiami 2012-03-13 16:48:48
我明白了。我很困惑你在服務層中使用的名字myViewClass。那麼在這種情況下,將會將您的傳輸實體(因爲它們不再是域實體)聚合到真實域對象中的服務層可能是一條可行的路。 – 2012-03-13 16:50:16
我問這個是因爲我看了MVC店面視頻,它直接在由模型獲取的信息組成的Repository中使用一個類。我想它只是繞過服務層 – CiccioMiami 2012-03-14 09:15:33