是否有一种方法可以使用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();
但是我想知道是否有更简单的方法来实现这一目标