2013-01-23 104 views
0

大家好我有一個SQL查詢,我想執行相同的使用實體框架,並將其綁定到gridview可以有人幫助我。這是我的查詢組通過使用實體框架

SELECT Technology,[Description], Technologies.TechID, COUNT(*) AS 'num_employees' 
FROM Technologies 
LEFT JOIN Questions 
ON Questions.TechID = Technologies.TechID 
GROUP BY Technologies.TechID, Technology,[Description] 

我怎樣才能將其轉化使用EF

回答

1

個人得到的結果,我會做這個存儲過程,而是和其導入到EF。然後你可以在代碼中調用它並將結果數據綁定到你的網格。

這種方式加入,分組等所有發生在服務器端而不是客戶端。否則,你會發送比客戶更多的信息。另外,服務器理論上可以比客戶端更快地完成這些操作。

+1

是的,我也剛剛得到這個想法;) – Dotnet

+0

是啊,我平時感覺「髒」當我作出這樣的沒有任何參數,只是一個相當簡單的返回一個存儲過程。我建議用一些參數加強它,這樣你就可以更好地使它成爲一個sproc。 :) –

0

試試這個,我沒有時間去測試它的邏輯和語法。你需要類似的東西。

var q = from a in context.Technologies 
    join b in context.Questions 
    on a.TechID equal b.TechID into j1 
    from j2 in j1.DefaultIfEmpty() 
    group j2 by new { a.TechID, b.Technology, b.Description into grouped 
    select new { Tecnology = grouped.Technology, Description = grouped.Description, Count = grouped.Count() }