i´m using two queries to get a result from database, but i´m sure that i can get the same result with just one query.
var cuentaCorriente =
from p in db.CuentaCorrienteProveedor
where p.ProveedorID == proveedorDefecto.ProveedorID && p.TipoFormularioAplica == "FC" || p.TipoFormularioAplica == "ND"
group p by new {p.ProveedorID, p.Sucursal, p.TipoFormularioAplica, p.NumeroFormularioAplica } into pGroup
select new {proveedorID=pGroup.Key.ProveedorID, tipo = pGroup.Key.TipoFormularioAplica, Sucursal = pGroup.Key.Sucursal, Numero = pGroup.Key.NumeroFormularioAplica, Total = pGroup.Sum(p => p.Importe)};
Then i filter those records where the sum result >0
cuentaCorriente = from p in cuentaCorriente where p.Total > 0 select p;
var cuentaCorriente =
from p in db.CuentaCorrienteProveedor
where p.ProveedorID == proveedorDefecto.ProveedorID && p.TipoFormularioAplica == "FC" || p.TipoFormularioAplica == "ND"
group p by new {p.ProveedorID, p.Sucursal, p.TipoFormularioAplica, p.NumeroFormularioAplica } into pGroup
let cc = new {proveedorID=pGroup.Key.ProveedorID, tipo = pGroup.Key.TipoFormularioAplica, Sucursal = pGroup.Key.Sucursal, Numero = pGroup.Key.NumeroFormularioAplica, Total = pGroup.Sum(p => p.Importe)};
where cc.Total > 0select cc
sepilrat
Member
119 Points
87 Posts
how to cut a step when using a linq query
Feb 14, 2012 01:47 PM|LINK
Hi.
i´m using two queries to get a result from database, but i´m sure that i can get the same result with just one query.
var cuentaCorriente = from p in db.CuentaCorrienteProveedor where p.ProveedorID == proveedorDefecto.ProveedorID && p.TipoFormularioAplica == "FC" || p.TipoFormularioAplica == "ND" group p by new {p.ProveedorID, p.Sucursal, p.TipoFormularioAplica, p.NumeroFormularioAplica } into pGroup select new {proveedorID=pGroup.Key.ProveedorID, tipo = pGroup.Key.TipoFormularioAplica, Sucursal = pGroup.Key.Sucursal, Numero = pGroup.Key.NumeroFormularioAplica, Total = pGroup.Sum(p => p.Importe)};Then i filter those records where the sum result >0
Thanks in advance
stevenbey
All-Star
16526 Points
3378 Posts
Re: how to cut a step when using a linq query
Feb 14, 2012 02:18 PM|LINK
Try the following:
var cuentaCorriente = from p in db.CuentaCorrienteProveedor where p.ProveedorID == proveedorDefecto.ProveedorID && p.TipoFormularioAplica == "FC" || p.TipoFormularioAplica == "ND" group p by new {p.ProveedorID, p.Sucursal, p.TipoFormularioAplica, p.NumeroFormularioAplica } into pGroup let cc = new {proveedorID=pGroup.Key.ProveedorID, tipo = pGroup.Key.TipoFormularioAplica, Sucursal = pGroup.Key.Sucursal, Numero = pGroup.Key.NumeroFormularioAplica, Total = pGroup.Sum(p => p.Importe)}; where cc.Total > 0 select cchttp://stevenbey.com
Recursion: see Recursion
stevenbey
All-Star
16526 Points
3378 Posts
Re: how to cut a step when using a linq query
Feb 15, 2012 04:25 PM|LINK
Did that work?
http://stevenbey.com
Recursion: see Recursion