110

SQLこのステートメントをクエリに変換する必要がありLinq-Entityます...

SELECT name, count(name) FROM people
GROUP by name
4

5 に答える 5

208

クエリ構文

var query = from p in context.People
            group p by p.name into g
            select new
            {
              name = g.Key,
              count = g.Count()
            };

メソッドの構文

var query = context.People
                   .GroupBy(p => p.name)
                   .Select(g => new { name = g.Key, count = g.Count() });
于 2012-07-19T15:43:31.103 に答える
14

Dictionary便利な拡張機能は、 for 高速ルックアップ (ループなど) で結果を収集することです。

var resultDict = _dbContext.Projects
    .Where(p => p.Status == ProjectStatus.Active)
    .GroupBy(f => f.Country)
    .Select(g => new { country = g.Key, count = g.Count() })
    .ToDictionary(k => k.country, i => i.count);

元はここにあります: http://www.snippetsource.net/Snippet/140/groupby-and-count-with-ef-in-c

于 2014-07-15T16:06:51.573 に答える
1

EF 6.2ではうまくいきました

  var query = context.People
               .GroupBy(p => new {p.name})
               .Select(g => new { name = g.Key.name, count = g.Count() });
于 2018-04-27T05:19:59.497 に答える