使用 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();

代码解释:

  1. dbContext.Orders: 获取订单数据源。
  2. .Include(o => o.Store): 使用 Include 方法将关联的 'Store' 实体加载到订单实体中,以便后续可以使用门店信息。
  3. .GroupBy(o => o.StoreId): 使用 GroupBy 方法按 StoreId 对订单进行分组。
  4. .Select(g => new { ... }): 使用 Select 方法将每个分组投影为一个包含以下属性的匿名类型:
    • StoreId: 门店 ID,作为分组的键。
    • TotalAmount: 使用 Sum 方法计算该门店所有订单的总金额。
    • OrderCount: 使用 Count 方法计算该门店的订单数量。
  5. .ToList(): 将结果转换为一个列表。

通过以上代码,我们可以方便地获取每个门店的订单统计信息,例如订单总金额和订单数量。

总结:

使用 Entity Framework Core 的 GroupBySelect 方法可以轻松实现对数据的灵活分组和统计计算,帮助我们更有效地分析和利用数据。

Entity Framework Core 按门店ID分组查询订单及统计

原文地址: https://www.cveoy.top/t/topic/jnBe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录