NHibernate Linq는 그룹화를 이해하지 못하는 것 같습니다. 어떤 메소드 조건. 나는 다음과 같은 코드를 가지고 :NHibernate Linq group by 조건
var q = from o in session.Query<OrdreLinjeVerdier>()
where o.OrdreLinjeReserve > 0
group o by o.ProduktLager.ProduktLagerID into g
select new
{
ProduktLagerID = g.Key,
OrdreRes = g.Sum(x => x.OrdreLinjeReserve),
OrdreResUtenSpesial =
g.Where(x => x.LeveringsType.LeveringsTypeID == 1)
.Sum(x => (double?)x.OrdreLinjeReserve)
};
을 그리고 그것은 단지 데이터베이스에 다음과 같이 진행됩니다
select ordrelinje0_.ProduktLagerID as col_0_0_,
cast(sum(ordrelinje0_.OrdreLinjeReserve) as DECIMAL(19,5)) as col_1_0_,
cast(sum(ordrelinje0_.OrdreLinjeReserve) as DOUBLE PRECISION) as col_2_0_
from OrdreLinjeVerdier ordrelinje0_
where ordrelinje0_.OrdreLinjeReserve>@p0
group by ordrelinje0_.ProduktLagerID;
@p0 = 0
그래서 기본적으로 g.Where의 조건은 SQL 쿼리에 영향을주지 않습니다.
버그와 같거나 뭔가 누락 된 것 같습니다.
에 문제를 만들거나하십시오 추가 쿼리에서. 실제 결과가 정확합니까? – Ocelot20
결과가 올바르지 않습니다. 100 % 동일 쿼리 결과입니다. –
데이터베이스 쿼리 후 '새 선택'명령이 로컬에서 평가되지 않습니까? – stuartd