2009-09-07 83 views
0

我在多对多关联中有一个Product和Category实体。 我正在尝试显示每种产品的分类计数。 到目前为止,我想出了这一点:LINQ to Entities和使用多对多关联进行分组

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

请解释什么结果你希望和你有什么样的结果。 – 2013-03-12 13:26:26

回答

5

像这样的查询应该这样做:

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

希望这有助于

亚历

+0

愚蠢我,如果你使用包括它可以一样容易: For Each.Inproduct.Include(“Categories”) Console.WriteLine(product.Name + product.Categories.Count()。ToString() Next – Dan 2009-09-07 22:57:54

+1

是的,你也可以这样做,但是你要加载每个产品和每个类别,如果你只是计算数量,你不会自己加载类别,所以这取决于你是需要类别还是仅仅是类别数量。 – 2009-09-08 14:51:24