首先,对不起,标题不好,我真的不知道这叫什么。
我知道我可以使用X
。但是我想要一些更通用的东西,在其中我可以计算出其中一列中具有相同条目的行数。我的意思的图片:
我想要得到的最终结果是计数列表,例如:3、1等
答案 0 :(得分:3)
您可以使用GroupBy
语句对此项的值进行分组,然后Select
对其进行分组以得到结果:
var result = await db.Model
.GroupBy(x => x.Age)
.Select(g => new {
Age = g.Key,
Count = g.Count(),
})
.ToListAsync();
结果是一个对象列表,该对象的属性为Age
,具有年龄值,而属性为Count
,其项目数为该Age
。
如果只需要计数,则可以直接从Select
表达式返回这些计数:
var result = await db.Model
.GroupBy(x => x.Age)
.Select(g => g.Count())
.ToListAsync();
请注意,这显然会阻止您说出个人人数代表的年龄。
答案 1 :(得分:0)
尝试使用distinct
方法并获取匿名对象,然后在其上应用count
context.Model.Where(a => a.Entity == "example").Select(a = > new {a.User, a.Address, a.Age}).Distinct().Count()