Здравствуйте. Есть вот такой LINQ:
var query =
from p in db.Product
where p.SupplierID==1
group p by p.Category
into g
select new
{
g.Key.CategoryName,
Total = g.Count()
};
Не знаю как записать LINQ для генерации вот такого запроса, так как после группировки уже в выборке недоступно p, только g:
SELECT
[t1].[CategoryName],
Count(*) as [c1]
Sum(p.UnitsInStock) as TotalStock
FROM
[Products] [p]
INNER JOIN [Categories] [t1] ON [p].[CategoryID] = [t1].[CategoryID]
WHERE
[p].[SupplierID] = 1
GROUP BY
[t1].[CategoryID],
[t1].[CategoryName]
Здравствуйте, Luckyman, Вы писали:
L>Здравствуйте. Есть вот такой LINQ:
L>L> var query =
L> from p in db.Product
L> where p.SupplierID==1
L> group p by p.Category
L> into g
L> select new
L> {
L> g.Key.CategoryName,
L> Total = g.Count()
L> };
L>
L>Не знаю как записать LINQ для генерации вот такого запроса, так как после группировки уже в выборке недоступно p, только g:
L>L>SELECT
L> [t1].[CategoryName],
L> Count(*) as [c1]
L> Sum(p.UnitsInStock) as TotalStock
L>FROM
L> [Products] [p]
L> INNER JOIN [Categories] [t1] ON [p].[CategoryID] = [t1].[CategoryID]
L>WHERE
L> [p].[SupplierID] = 1
L>GROUP BY
L> [t1].[CategoryID],
L> [t1].[CategoryName]
L>
Да, что-то затупил, получается вот так:
var query =
from p in db.Product
where p.SupplierID==1
group p by p.Category.CategoryName
into g
select new
{
CategoryName = g.Key,
Count = g.Count(),
TotalStock = g.Sum(item=>item.UnitsInStock)
};