使用linq和EF

时间:2019-07-26 21:05:12

标签: entity-framework

是否有一种方法可以使用EF在一个查询中获取列的非重复计数和行的全部计数,等同于

select count(distinct col)
,count(*) 
from table
where condition

我想以下方法会起作用

var groupCounts = _context.Table
.Where(_whereClauseFunc)
.GroupBy(x=>x.col)
.Select(g=>new {RowCount = 1, ItemCount = g.Count()})
.GroupBy(x=>x.RowCount);


 var c = (from gc in groupCounts
       select new
       {
          ItemCount = gc.Sum(x => x.ItemCount),
          DistinctCount = gc.Count()
       })
       .ToList()
       .First();

但是我想知道是否有更简单的方法来实现这一目标

0 个答案:

没有答案