Нужна помощь в преобразовании вложенного запроса ниже SQL в запрос LINQ?
select P.ProductId, P.Name, C.Name, I.Image
from Product P
join ProductImage I on P.ProductId = I.ProductId
join ProductCategory C on P.Category = C.CategoryId
where P.ProductId in (select distinct ProductId
from ProductVariantMapping M
where M.GUID in (select top 3 V.Guid
from [Order] O
join Inventory V on V.InventoryId = O.InventoryId
group by O.InventoryId, V.Guid
order by Sum(O.Quantity) desc))
Ниже приведена моя попытка преобразования в запрос LINQ:
var a = (from product in ekartEntities.Products
join productImage in ekartEntities.ProductImages
on product.ProductId equals productImage.ProductId
join category in ekartEntities.ProductCategories
on product.Category equals category.CategoryId
where product.ProductId
select new ProductDTO()
{
ProductId = product.ProductId,
Name = product.Name,
Category = category.Name,
Image = productImage.Image
}).ToList();
что эквивалентно «IN» при преобразовании в LINQ.
Я получил решение для предложения «IN».
Но как мне использовать сумму (количество) в порядке после группировки?
Я новичок в Entity Framework. Кто-нибудь может мне помочь?