SQL-запрос с использованием Linq to Entity - PullRequest
0 голосов
/ 27 декабря 2011

Мне нужно переписать запрос ниже, используя Linq to Entity.Кто-нибудь может помочь?Я посмотрел много примеров, но я все еще не понимаю.

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

1 Ответ

1 голос
/ 27 декабря 2011

Я думаю это можно перевести как-то так:

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();

    // ...
}

Двойная сумма заключается в том, что вы складываете все номера копий всех продаж всех работников с одинаковой фамилией. Я не уверен, является ли это целью оригинального запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...