이 SQL을 QueryOver 표기법으로 변환하는 데 문제가 있습니다. 나 좀 도와 줄 수있어?NHibernate QueryOver 내부 선택이있는 곳
SELECT * FROM Alerts a
WHERE a.CreatedOn = (
SELECT MAX(b.CreatedOn) FROM Alerts b WHERE b.UserFk=a.UserFk);
모든 사용자에 대해 마지막 경고를 선택하려고합니다. CreatedOn을 사용하며 Id를 사용할 수 없습니다.
지금까지 가지고
session.QueryOver(() => alertAlias)
.SelectList(list => list
.Select(() => alertAlias.User.Id)
.SelectSubQuery(
QueryOver.Of<Alerts>()
.Where(x => x.User.Id == alertAlias.User.Id)
.OrderBy(x => x.CreatedOn).Desc
.Select(x => x.CreatedOn)
.Take(1)));
나는 모든 사용자의 경고 행에 사용자의 마지막 경고 날짜를 추가 알고있다. 하지만 마지막 경고 만 보내고 싶습니다.
은 우리에게 코드를 보여주세요 ... 또 다른 이야기입니다. 그러면 도움이 될 것입니다. 한편보십시오 [여기] (http://stackoverflow.com/a/20537260/1679310) 또는 [there] (http://stackoverflow.com/a/22838831/1679310) 또는 ... –
감사합니다. 내 질문. – Kamil