我有3个数据集对象,它们使用实体集对象相互嵌套。我正在选择这样的数据
var newList = from s in MainTable
from a in s.SubTable1 where a.ColumnX = "value"
from b in a.Detail where b.Name = "searchValue"
select new {
ID = s.ID,
Company = a.CompanyName,
Name = b.Name,
Date = s.DueDate
Colour = b.Colour,
Town = a.Town
};
这样可以正常工作,但麻烦的是,每个Name值的Detail对象列表/表中都有很多记录,所以我得到了重复行的加载,因此我只希望每个b.Name显示一条记录。我试过把
group s by b.Name into g
在选择之前,但是这似乎停止了选择,使我能够选择我想要的列(在实践中还有更多)。在这种情况下如何使用group命令,同时仍将输出行保持为“平面”格式?
答案 0 :(得分:0)
附加评论作为回答问题的答案: - 当然,如果你对结果进行分组,你就不能选择一个孩子的列,那是因为可能有多个孩子,你必须指定一个聚合列,例如总和,max etx -