2013-07-04 63 views
2

我在項目上使用實體框架,但發現大型查詢,特別是那些使用LEFT聯接的大型查詢,編寫起來非常繁瑣,而且很難調試。在實體框架中使用視圖

在數據庫中使用Views,然後在EntityFramework中使用這些視圖是否是常見的或被接受的做法?或者這是一個不好的做法?

+0

+1我昨天也在掙扎。我想知道如何使用代碼先創建視圖... – Colin

+0

如何在沒有連接語法的情況下執行左連接:http://blogs.teamb.com/craigstuntz/2010/01/13/38525/ – Colin

+0

遺留數據庫的一些人正在試圖擺脫觀點:http://stackoverflow.com/q/9016079/150342 – Colin

回答

-1

首先創建您的視圖。
更新您的.edmx文件。
然後像這樣使用。

using (ManishTempEntities obj = new ManishTempEntities()) 
{ 
    var a = obj.View_1.ToList(); 
} 
+0

我在問更多是否可以在實體框架中使用視圖。我想知道是否可以使用視圖執行更復雜的左連接,而不是使用linq。 – Craig

+1

有一個視圖比通過LINQ加入所有數據更好,因爲這些視圖是在SQL(如SP)中預編譯的,因此可以更快地返回結果。該視圖不需要將所有數據類型從SQL轉換/轉換爲C#數據類型,這樣就可以使它們變得更快......因此,如果您擁有越來越多的數據,您將希望使用視圖而不是經典EF(即使我EF粉絲本人)。快樂的編碼(即使這個評論有點晚) – HellBaby