有没有办法将我的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;}
}
但是我不知道如何附加它!
您可以通过在
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
属性上使用布尔值,而不是使用零或一的 int。