2014-11-25 64 views
0

在下面的linq查詢中,第一個查詢運行正常。Linq to sql for groupby給予超時

1) var vrtemp = from details in context.GetQueryable<vw_FetchDTR>() 
           where details.App == id.ToString() 
           select details; 

但是當我在第一個查詢的結果中應用groupby時它顯示超時。

2) var vrdetails = vrtemp.GroupBy(x => x.CompName); 

注:vw_FetchDTR一種觀點

+0

您是否檢查生成的SQL的外觀?你有沒有嘗試分析查詢? – MarcinJuraszek 2014-11-25 05:04:26

+0

你的查詢花費很多時間嘗試增加TimeOut如果使用EntityFramework – 2014-11-25 05:25:01

+0

檢查此鏈接:http://joaodepaula.com/articles/context_timeout.html – 2014-11-25 05:41:01

回答

0

也許Sql的Linq不能產生有效的SQL查詢? 您可以嘗試在應用GroupBy操作之前獲取所有數據。 像這樣:

var vrdetails = vrtemp.ToList()。GroupBy(x => x.CompName);

在這種情況下,您在服務器端運行GroupBy操作。它會增加傳輸數據量,但它可以在Sql服務器上更有效