代码之家  ›  专栏  ›  技术社区  ›  PassionateDeveloper

如何更快地从Linq中的行中获取计数

  •  0
  • PassionateDeveloper  · 技术社区  · 5 年前

    我有一个linq来按Id获取所有行计数组。 因为我的表很大,所以它在Linq中需要很长的时间(因为从EF Core 3.0开始,我必须完整地获取数据)。

                var reportCountData = this.context.ReportData.AsEnumerable().GroupBy(x => x.ReportId).ToDictionary(x => x.Key, x => x.Count());
    

    0 回复  |  直到 5 年前
        1
  •  1
  •   Daniel    5 年前

    应翻译以下内容:

    var reportCountData = from p in this.context.ReportData
                group p by p.ReportId into g
                select new
                {
                    g.Key,
                    Count = g.Count()
                };
    

    https://docs.microsoft.com/de-de/ef/core/querying/complex-query-operators#groupby