Как быстрее подсчитать количество строк в Linq - PullRequest
0 голосов
/ 31 октября 2019

У меня есть linq, чтобы получить все группы счетчиков строк по Id. Из-за того, что моя таблица очень большая, она требует очень много времени в Linq (потому что я должен получить данные полностью после EF Core 3.0).

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

Как сделать это быстрее (например, не получая сначала все данные)

1 Ответ

1 голос
/ 31 октября 2019

Следующее должно быть переведено:

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

...