Entity framework core 如何在实体框架核心中进行聚合功能(如计数)

Entity framework core 如何在实体框架核心中进行聚合功能(如计数),entity-framework-core,entity-framework-core-2.1,Entity Framework Core,Entity Framework Core 2.1,我希望在Entity Framework Core 2.1中执行以下SQL: Select ItemTypeId, Count(ItemTypeId) as Count from Items i where i.ParentId = 2 group by ItemTypeId 我该怎么做 这是我得出的结论,但它返回零: var query = this._context.Items.Where(a => a.ParentId == 2) .GroupBy(i => new {

我希望在Entity Framework Core 2.1中执行以下SQL:

Select ItemTypeId, Count(ItemTypeId) as Count from Items i 
where i.ParentId = 2
group by ItemTypeId 
我该怎么做

这是我得出的结论,但它返回零:

var query = this._context.Items.Where(a => a.ParentId == 2)
.GroupBy(i => new { i.ItemTypeId })
.Select(g => new { g.Key.ItemTypeId, Count = g.Count(i=> i.ItemTypeId == g.Key.ItemTypeId) });

var items = query.ToList();

我能找到的唯一例子是您不需要
Count=g.Count(I=>I.ItemTypeId==g.Key.ItemTypeId)
,而是使用
g.Count()

g.Count()
应该足够了。谢谢你,这确实有效。如果你想贴出答案,我会接受。