Entity Framework Core 按门店ID分组查询订单及统计
使用 Entity Framework Core 按门店 ID 分组查询订单数据并进行统计
在使用 Entity Framework Core 查询数据时,我们经常需要按特定条件对数据进行分组并进行统计计算。本文将介绍如何使用 GroupBy 方法按门店 ID 对订单进行分组,并计算每个门店的订单总金额和数量。
代码示例:
var result = dbContext.Orders
.Include(o => o.Store)
.GroupBy(o => o.StoreId)
.Select(g => new {
StoreId = g.Key,
TotalAmount = g.Sum(o => o.Amount),
OrderCount = g.Count()
})
.ToList();
代码解释:
dbContext.Orders: 获取订单数据源。.Include(o => o.Store): 使用Include方法将关联的 'Store' 实体加载到订单实体中,以便后续可以使用门店信息。.GroupBy(o => o.StoreId): 使用GroupBy方法按StoreId对订单进行分组。.Select(g => new { ... }): 使用Select方法将每个分组投影为一个包含以下属性的匿名类型:StoreId: 门店 ID,作为分组的键。TotalAmount: 使用Sum方法计算该门店所有订单的总金额。OrderCount: 使用Count方法计算该门店的订单数量。
.ToList(): 将结果转换为一个列表。
通过以上代码,我们可以方便地获取每个门店的订单统计信息,例如订单总金额和订单数量。
总结:
使用 Entity Framework Core 的 GroupBy 和 Select 方法可以轻松实现对数据的灵活分组和统计计算,帮助我们更有效地分析和利用数据。
原文地址: https://www.cveoy.top/t/topic/jnBe 著作权归作者所有。请勿转载和采集!