是否可以从 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;}
}

但是我不知道如何附加它!

您可以通过在

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。

相关内容

  • 没有找到相关文章

最新更新