gpt4 book ai didi

c# - Linq SelectMany 查询

转载 作者:太空狗 更新时间:2023-10-30 00:43:04 25 4
gpt4 key购买 nike

我有以下查询:

 DateTime cutoffDate = new DateTime(1997, 1, 1); 

var orders =
from c in customers
where c.Region == "WA"
from o in c.Orders
where o.OrderDate >= cutoffDate
select new { c.CustomerID, o.OrderID };

如何用 Linq Lambda 编写?顺便说一句,这是否称为 SelectMany 查询?

这也可以通过连接来完成,如上所示这样做的优缺点是什么。

最佳答案

是的,这是一个SelectMany。您使用 SelectMany 将嵌套或分层集合(在本例中,订单嵌套在客户下)“扁平化”为简单的单层集合。

customers.Where(c => c.Region == "WA")
.SelectMany(c => c.Orders)
.Where(o => o.Orderdate >= cutoffDate)
.Select(x => new { x.OrderID, x.Customer.CustomerID });

如果订单是客户的属性(property),则无需使用联接。

关于c# - Linq SelectMany 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com