Справка по переводу с SQL на L2S - PullRequest
1 голос
/ 15 января 2009

Так вот оригинальный запрос

ВЫБРАТЬ СУММУ (PickQty), СУММУ (ReqQty), AssignmentID, StopID FROM PickRequest GROUP BY AssignmentID, StopID

в LINQ

from a in dbReqs
group a by new { a.AssignmentID, a.StopID }
into pr
select new
{
Assignment = pr.Key,
StopID = pr.Select(s=> s.StopID),
PickQty = pr.Sum(p=> p.PickedQty),
Count = pr.Sum(c => c.ReqQty)
}

Я, должно быть, делаю что-то не так, потому что версия LINQ требует много времени, а результаты кажутся немного неправильными. Идеи?

1 Ответ

2 голосов
/ 15 января 2009

Попробуйте:

from a in dbReqs
group a by new { a.AssignmentID, a.StopID }
into pr
select new
{
  AssignmentID = pr.Key.AssignmentID,
  StopID = pr.Key.StopID,
  PickQty = pr.Sum(p=> p.PickedQty),
  Count = pr.Sum(c => c.ReqQty)
}

Обратите внимание: вы можете легко отслеживать, что делает LINQ-to-SQL:

ctx.Log = Console.Out; // or some other writer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...