【发布时间】:2010-08-25 13:30:32
【问题描述】:
假设我有两个表:类别和产品。我想使用 linq-to-sql 选择具有重复产品的所有类别(带有产品)。 我的查询是这样的:
from p in db.Products
group p by p.CategoryId into c
select new
{
categoryId = c.Key,
products = from PbyC in c
group PbyC by PbyC.Name into dupl
where dupl.Count() > 1
select dupl;
}
它可以工作,但 LINQPad 列出了空类别(没有任何重复的产品)。如何修改查询?
如果能以某种方式显示类别名称而不是 ID,那就太好了。
编辑:我有表之间的关系。
【问题讨论】:
-
您正在获取没有相关产品的类别?我正在阅读此查询的方式,这应该是不可能的,因为您只是在查询 Products 表...
-
结果是 IOrderedQueryable
> 。所以类别ID列表和重复产品的嵌套列表。有些类别实际上是空的,但会显示出来。
标签: c# linq-to-sql