Bir sorunum var. Kişilerim ve Kedilerim var. Her Kişi'nin bazı Kedileri vardır (Kedilerde Kişiler'deki birincil anahtara işaret eden yabancı bir anahtar vardır). Her bir kedinin bir yaşı vardır. "Eski" Kedileri olan Kişileri seçmek istiyorum. Bu kişilerin TÜM Kedilerini istiyorum, sadece "Eski" Kedileri değil. QueryOver sözdizimi ile bunu yapmalıyım. T-SQLQueryOver ve WhereExists ile yardım.
gibi bir şey olurdu: Ben alt sorgular kullanmak zorunda biliyorum
SELECT P.*, C.*
FROM Persons P
LEFT JOIN Cats C
ON P.Id = C.OwnerId
WHERE EXISTS (
SELECT 1
FROM Cats C2
WHERE P.Id = C2.OwnerId AND C2.Age > 5)
ve ben (Kriterler/DetachedCriteria) "eski" nhibernate sözdizimi ile kolayca içindi, ama QueryOver sözdiziminde bunu yapamam.
"IN" koşulu istemiyorum. Birincil Anahtarım karmaşık bir anahtardır, bu yüzden IN ile yapamam.
var persons = session.QueryOver<Person>.WithSubquery.WhereExists(???);
Çok teşekkürler! Pazartesi bunu test edeceğim! – xanatos
Çalışıyor !!!!!!!!! :-) – xanatos