2011-12-26 88 views
0

我需要使用Linq to Entity来重写下面的查询。谁能帮忙?我查了很多例子,但我仍然不明白。使用Linq to Entity的SQL查询

SELECT Realizators.Surname, SUM(Sales.CopyNumber) 
FROM Realizators, Sales 
WHERE Realizators.WorkerID = Sales.WorkerID 
GROUP BY Surname; 

回答

1

认为它可以转换为这样的事:

var query = 
    context 
    .Realizators 
    .Include("Sales") 
    .GroupBy(r => r.Surname); 

foreach (var realizator in query) 
{ 
    var surname = realizator.Key; 
    var salesSum = realizator.Value.Select(r => r.Sales.Select(s => s.CopyNumber).Sum()).Sum(); 

    // ... 
} 

双总和是因为你所有的销售的所有工人的加入了所有的拷贝数同姓。我不太确定这是否是原始查询的目的。

+0

谢谢!我认为这是我需要的。 – user1116853 2011-12-26 23:40:03