Я пытаюсь выполнить запрос LINQ к списку объектов RelatedProducts.Я должен сгруппировать их по CategoryId, поэтому я использую предложение group by.К сожалению, я только что понял, что не могу просто использовать «select g.Value» в конце.Группа является IGrouping, и я хочу вернуть здесь только соответствующий продукт.Как я могу это сделать?
Также в моем случае продукт может быть в 2 категориях одновременно, так как я могу предотвратить LINQ от возврата дубликатов?Меня интересует только первая категория (на самом деле это не имеет значения, если он назначен этому продукту).
var query = from rp in context.RelatedProducts
join p in context.Products on rp.ProductId2 equals p.ProductId
join pc in context.ProductCategories on p.ProductId equals pc.ProductId
where rp.ProductId1 == productId1 &&
!p.Deleted &&
(showHidden || p.Published)
orderby rp.DisplayOrder
group rp by pc.CategoryId into g
select g;