-5
어떻게 SQL 쿼리를 linq (C#)로 변환 할 수 있습니까?SQL 쿼리를 Linq로 변환하는 방법
SELECT o.Week,
(select sum(Positive-Negative)
FROM tbl i
where i.Week <= o.Week
)
FROM tbl o
이 LINQ 코드는
var values = weeklySatisfaction.Select(o => new
{
Week = o.Week,
Net = weeklySatisfaction
.Where(i => i.Week < o.Week)
.Select(x => x.Positive - x.Negative).Sum()
});
즐길 수
작동합니다 나는 시도하지만 난이 값var result = from i in weeklySatisfaction
from o in weeklySatisfaction
where i.Week <= o.Week
select new
{
Week = o.Week,
Net = i.Positive - i.Negative
};
원본 SQL 쿼리는 "SELECT' 절 안에서 다른 쿼리와 같은"상관 하위 쿼리 "를 사용합니다. 비효율적입니다. 대신 JOIN 또는 다른 방법을 사용해야합니다. – Dai
원래 쿼리에서 실행중인 합계를 계산하는 데 매우 비효율적 인 방법 - SQL에서보다 효율적인 방법은 'OVER'를 사용하는 것이지만 Linq는이를 직접 지원하지 않으며 Linq에서 누적 합계를 계산하는 방법이 매우 다릅니다 (http : /stackoverflow.com/questions/1834753/linq-to-sql-and-a-running-total-onordord-results – Dai
... 결론적으로 : 귀하의 SQL 쿼리는 Linq에게 직접 번역 할 수 없으므로 어려움이 설명됩니다 – Dai