Aquí es la consulta que estoy tratando de convertir en LINQ:¿Cómo puedo convertir esta consulta SQL en LINQ (OVER (partición por fecha))
SELECT R.Code,
R.FlightNumber,
S.[Date],
S.Station,
R.Liters,
SUM(R.Liters) OVER (PARTITION BY Year([Date]), Month([Date]), Day([Date])) AS Total_Liters
FROM S INNER JOIN
R ON S.ID = R.SID
WHERE (R.Code = 'AC')
AND FlightNumber = '124'
GROUP BY Station, Code, FlightNumber, [Date], Liter
ORDER BY R.FlightNumber, [Date]
Gracias por cualquier ayuda.
ACTUALIZACIÓN: Este es el código de Linq en el que lo estoy probando; No puedo hacer OVER PARTITION por Fecha.
var test =
(from record in ent.Records join ship in ent.Ship on record.ShipID equals ship.ID
orderby ship.Station
where ship.Date > model.StartView && ship.Date < model.EndView && ship.Station == model.Station && record.FlightNumber == model.FlightNumber
group record by new {ship.Station, record.Code, record.FlightNumber, ship.Date, record.AmountType1} into g
select new { g.Key.Station, g.Key.Code, g.Key.FlightNumber, g.Key.Date, AmmountType1Sum = g.Sum(record => record.AmountType1) });
¿Qué has intentado hasta ahora? Stackoverflow no es un sitio donde simplemente publica algo y le dice a la gente "Solucionarlo" o "Convertir esto", por lo que en el futuro cuando haga una pregunta, piense en eso. – Joakim
Mire la actualización. –
En mi experiencia, he encontrado que linqer es una herramienta realmente útil para convertir t-sql a linq. http://www.sqltolinq.com/ - Viene con una prueba gratuita de 10 días. –