2013-01-23 83 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() }