2016-07-25 75 views
0

有什么方法可以将我的groupBy查询的输出引导到对象中吗?您可以通过groupBy查询创建对象吗?

var inspectionItemsGrouped = inspectionItems.GroupBy(item => item.SubCategory).Select(g => new 
     { 
      SubCategory = g.Key, 
      Items = g.ToList(), 
      ValidCount = g.Sum(c => !c.ReadOnly && c.IsValid ? 1 : 0) 
     }).ToList(); 

我可以创建

class QueryResults { 
    public string SubCategory {get;set;} 
    public List<InspectionItem> Items {get;set} 
    public int ValidCount {get;set;} 
} 

,但我无法弄清楚如何安装它!

回答

1

你可以把它的名字new语句后,像创建QueryResults类的新实例:

var inspectionItemsGrouped = inspectionItems 
    .GroupBy(item => item.SubCategory) 
    .Select(g => new QueryResults 
     { 
      SubCategory = g.Key, 
      Items = g.ToList(), 
      ValidCount = g.Sum(c => !c.ReadOnly && c.IsValid ? 1 : 0) 
     }).ToList(); 

而作为一个建议,你可能会使用一个布尔值在ValidCount财产,而不是使用0或1的int。

+0

ValidCount是一个总和,所以我不能使用布尔值,但是这个工作很完美。谢谢! – DeannaD

相关问题