gpt4 book ai didi

c# - 选择中的 Linq 值总和

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:15 25 4
gpt4 key购买 nike

所以我在使用linq的时候也一直遇到这种情况。假设我有如下代码:

            var results = _context.Products.Select(d =>
new Models.ProductData()
{
Id = d.ProductId,
Name = d.Product.Name,
Qty = d.Number.Where(y => y.Active && y.CodeId == 5 && y.Status == "NEW").Sum(y => y.FeeAmount),
Qty1= d.Number.Where(y => y.Active && y.CodeId == 7 && y.Status == "NEW").Sum(y => y.Fee),
Total = d.Number.Where(y => y.Active && y.CodeId == 5 && y.Status == "NEW").Sum(y => y.FeeAmount) + d.Number.Where(y => y.Active && y.CodeId == 7 && y.Status == "NEW").Sum(y => y.Fee)
}
);

对于总值,有没有更好的方法来计算总和,而不必写出所有中间带有+符号的linq语句?如果能写出像

这样的东西会好很多
Total = Qty + Qty1

我可以从初始映射中省略总计,然后重新映射它按 Id 分组并通过引用 Total = Qty + Qty1 分配总计,但这似乎只是绕来绕去。

如有任何建议,我们将不胜感激。

最佳答案

在您的 Models.ProductData 类中,定义 Total 属性如下:

public double Total {
get {
return this.Qty + this.Qty1;
}
}

并避免在 Linq 查询中设置它。

关于c# - 选择中的 Linq 值总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609437/

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