Gracias a todos por el tiempo para ayudarme...
tengo la suiguiente query en SQL pero estoy empezando a desarrollar aplicaciones en LINQ y necesito esta misma query pero traducida a LINQ.
SELECT
Departamento,
SUM( Cantidad* Precio)AS Total
FROM
SalidasAlmacen
LEFTOUTERJOIN CatArticulos ON
SalidasAlmacen. CveArticulo= CatArticulos. CveArticulo
AND SalidasAlmacen. DeptoSalida = CatArticulos. CveDepartamento
INNERJOIN CatDepartamentosON
SalidasAlmacen. CveDepartamento = CatDepartamentos. CveDepartamento
WHERE
Fecha BETWEEN'FECHA'AND'FECHA'
AND CveSucursal='3'
AND CatArticulos. Tipo IN('C' )
AND Departamento IN('51', '54','55','56' )
GROUPBY
Departamento
ORDERBY
Total DESC
Asi es como lo tengo ahorita en LINQ
int[] _depas = new int[] { 51, 54, 55, 56};
ConsultasDataContext dc = new ConsultasDataContext();
var Costo = (from sa in dc.SalidasAlmacen
join ca in dc.CatArticulos
on sa.CveArticulo equals ca.CveArticulo
join cd in dc.CatDepartamentos
on sa.CveDepartamento equals cd.CveDepartamento
where sa.DeptoSalida == ca.CveDepartamento && ca.Tipo == 'C' && cd.Tipo == 'C' &&
sa.Fecha >= fi && sa.Fecha <= ff && sa.DeptoSalida == 49 && cd.CveSucursal == suc
&& _depas.Contains(sa.CveDepartamento)
group sa by new { Departamento = cd.Departamento } into grp
select new
{
Departamento = grp.Key.Departamento,
Total = grp.Sum(x => x.Cantidad) * grp.Sum(x => x.Precio)
}).GroupBy(x=>x.Departamento);
Hasta ahora no he podido espero me puedan ayudar... gracias y saludos desde Cd. Juarez Chih Mexico.