0

У меня есть объект Product и Category во многих отношениях. Я пытаюсь показать количество категорий для каждого продукта. До сих пор, я пришел с этим:LINQ to Entities и группировка с ассоциацией many-to-many

Dim context = new Context() 
Dim products = context.Products() 
Dim productsByCategoryCount = From product In Products 
Group product By productId = product.productId Into productCount = Count(product.cateogories.Count) 

запрос выполняется, но не показывает правильный результат. Что я делаю не так?

+0

Пожалуйста, объясните, какие результаты вы ожидали, и какие результаты вы получили. –

ответ

5

Запрос, как это следует сделать это:

var results = from p in ctx.Products 
       select new {Product = p, CategoryCount = p.Categories.Count} 

Надеется, что это помогает

Alex

+0

Глупый я, если вы используете Include, может быть таким же простым, как: Для каждого продукта в Products.Include («Категории») Console.WriteLine (product.Name + product.Categories.Count(). ToString() Next – Dan

+1

Да, вы тоже можете это сделать, но затем загружаете каждый продукт и каждую категорию. Если вы просто проецируете счет, вы не загружаете сами категории. Так что это действительно зависит от того, нужны ли вам категории или просто количество категорий. –