C# EF Core .GroupBy()分组查询教程:SQL GROUP BY子句的Linq实现
C# EF Core .GroupBy()分组查询教程:SQL GROUP BY子句的Linq实现
在使用 Entity Framework Core 查询数据时,我们经常需要对数据进行分组操作。.NET EF Core 中的 .GroupBy() 方法为此提供了方便,其功能类似于 SQL 中的 GROUP BY 子句。
.GroupBy() 方法接受一个 lambda 表达式作为参数,该表达式指定分组的条件。
示例:按国家/地区对客户进行分组
以下代码演示了如何使用 .GroupBy() 方法将客户按国家/地区进行分组:
var groupedCustomers = context.Customers
.GroupBy(c => c.Country)
.ToList();
这段代码将返回一个列表,其中每个元素都是一个分组,包含具有相同国家/地区的客户。
选择分组数据
我们可以使用 .Select() 方法选择分组中的数据,例如获取每个国家/地区的客户数量:
var groupedCustomers = context.Customers
.GroupBy(c => c.Country)
.Select(g => new { Country = g.Key, Count = g.Count() })
.ToList();
这段代码将返回一个列表,其中每个元素都包含一个国家/地区和该国家/地区的客户数。这里,.Key 属性用于获取分组的键(即国家/地区)。
总结
.GroupBy() 方法为在 Entity Framework Core 中执行分组操作提供了强大的功能。通过结合使用 lambda 表达式和 .Select() 方法,我们可以轻松地对数据进行分组并选择所需的信息,从而实现高效的数据查询和处理。
原文地址: https://www.cveoy.top/t/topic/jnBc 著作权归作者所有。请勿转载和采集!