gpt4 book ai didi

C# Linq GroupBy,获取每个组中的列列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:32 24 4
gpt4 key购买 nike

我需要编写一个查询来获取销售的所有运费,并将其与估计的运费进行比较。这是我的查询:

var sales = (from sale in db.Sales
where sale.DateOfSale > startDate && sale.DateOfSale < endDate
group sale by new {sale.ItemID, sale.EstimatedShipping} into g
select new
{
ItemID = g.Key.ItemID
Estimate = g.Key.EstimatedShipping
ActualShipCosts = (from gSales in g select gSales.ActualShipping)
}).ToList();

似乎对没有通过键获取组或执行 g.Count() 的组进行任何操作都会使查询运行得非常慢,我无法在不超时的情况下完成此查询。有什么我可以做的来帮助提高这里的性能吗?

最佳答案

您可以在构建结果集时尝试执行 ActualShipping 选择:

var sales = db.Sales
.Where(sale => sale.DateOfSale > startDate && sale.DateOfSale < endDate)
.GroupBy(
sale => new {sale.ItemID, sale.EstimatedShipping},
sale => sale.ActualShipping)
.ToList();

不确定,但它可以防止额外的枚举。

关于C# Linq GroupBy,获取每个组中的列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19659984/

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