gpt4 book ai didi

C# - LINQ - 对其他表中的字段求和

转载 作者:行者123 更新时间:2023-11-30 23:14:21 26 4
gpt4 key购买 nike

我需要加入两个表(Movimientos 和 Cuentas),按 CuentasId 分组并计算 Movimientos.Monto 的 SUM
Movimientos 有一个 CuentasId 加入这个,我可以从 Cuentas 获取数据但无法获取 Sum。

这是我最好的方法,我们会提供任何帮助,我对语法有点困惑。提前致谢并致以亲切的问候,

          var cuentas = (from mov in _data.Movimientos
join ct in _data.Cuentas
on mov.CuentasId equals ct.CuentasId
where ct.IsDeleted == 0 && mov.IsDeleted == 0
group ct by new
{
CuentasId = ct.CuentasId,
Alias = ct.Alias,
Moneda = ct.Monedas.Nombre,
Signo = ct.Monedas.Signo,
Banco = ct.Bancos.Nombre
} into ctg
select new
{
Alias = ctg.Key.Alias,
Moneda = ctg.Key.Moneda,
Signo = ctg.Key.Signo,
Banco = ctg.Key.Banco,
Monto = ctg.Sum(mov.Monto)
}
).ToList();

最佳答案

您需要像这样对要求和的值进行分组

group mov.Monto by new { ..... } into ctg

然后ctg将是 mov.Monto 的集合按 ct 的属性列表分组的值你只要调用Sumctg在你的select

Monto = ctg.Sum()

所以你的新查询将是

var cuentas = (from mov in _data.Movimientos
join ct in _data.Cuentas
on mov.CuentasId equals ct.CuentasId
where ct.IsDeleted == 0 && mov.IsDeleted == 0
group mov.Monto by new
{
CuentasId = ct.CuentasId,
Alias = ct.Alias,
Moneda = ct.Monedas.Nombre,
Signo = ct.Monedas.Signo,
Banco = ct.Bancos.Nombre
} into ctg
select new
{
Alias = ctg.Key.Alias,
Moneda = ctg.Key.Moneda,
Signo = ctg.Key.Signo,
Banco = ctg.Key.Banco,
Monto = ctg.Sum()
}).ToList();

关于C# - LINQ - 对其他表中的字段求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43143066/

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