gpt4 book ai didi

c# - LINQ Select Many 语句

转载 作者:行者123 更新时间:2023-12-01 16:20:05 24 4
gpt4 key购买 nike

从 MSDN Linq 运算 rune 章中我发现了以下声明。我

https://code.msdn.microsoft.com/LINQ-to-DataSets-09787825

SelectMany - 从分配中

  var orders = 
from c in customers
from o in c.Orders
where o.Total >= 2000.0M
select new { c.CustomerID, o.OrderID, o.Total };

我的问题是,如果没有为客户和订单编写任何 where 或 join 条件,它将如何仅显示大于 2000.0M 的订单。该语句不会创建交叉连接吗?

最佳答案

不,该查询与此等效:

foreach(var c in customers)
{
foreach(var o in c.Orders)
{
if(o.Total >= 2000.0M)
yield return new { c.CustomerID, o.OrderID, o.Total };
}
}

所以没有加入。您只是过滤订单

关于c# - LINQ Select Many 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27695919/

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