Dưới đây là các truy vấn Tôi đang cố gắng để chuyển đổi thành LINQ:Làm thế nào tôi có thể chuyển đổi truy vấn SQL này vào LINQ (OVER (phân vùng bằng cách ngày))
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]
Cảm ơn sự giúp đỡ nào.
CẬP NHẬT: Đây là mã LINQ tôi đang thử; Tôi không thể thực hiện PARTVER OVER by Date.
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) });
Bạn đã thử những gì cho đến nay? Stackoverflow không phải là trang web nơi bạn chỉ đăng nội dung nào đó và nói với mọi người "Khắc phục sự cố" hoặc "Chuyển đổi điều này", vì vậy trong tương lai khi bạn đặt câu hỏi, hãy nghĩ về điều đó. – Joakim
Vui lòng xem phần Cập nhật. –
Theo kinh nghiệm của tôi, tôi đã tìm thấy linqer là một công cụ thực sự hữu ích để chuyển đổi t-sql thành linq. http://www.sqltolinq.com/ - Đi kèm với bản dùng thử miễn phí 10 ngày. –