1
나는 Foo
을 질의하고있다. Foo
에는 IList<FooBar>
속성이 없습니다 (불행히도). FooBar
은 Foo
속성을 가지고 있지만 (Bar
은 아님), Bar는 IList<FooBar>
입니다. 모든 Foo
이 필요합니다. 여기에 FooBar
이 있고 Bar
의 Date
필드가 오늘과 동일한 해당 Bar
이 있습니다.NHibernate : Reverse Exists 기준
저는 Criteria API를 사용하는 전문가는 아니지만 그것을 사용할지 여부는 제 선택이 아닙니다.
편집
:은 내가QueryOver
API와 같은 노력이 지금까지 가지고 :
var q1 = session.QueryOver<Foo>()
.WithSubquery.WhereExists<Bar>(
session.QueryOver<Bar>()
.Where(b => b.Date == DateTime.Today)
.JoinQueryOver<FooBar>(b => b.FooBars)
.Where(fb => fb.Foo == /*???*/))
.List<Foo>();
내가 /*???*/
의 장소에서 무엇을 작성하려면 어떻게해야합니까?
기다립니다 ... FOOBAR 나는, 바 연관이없는 명시 적으로 말했어 – TDaver
Woops, 나는 그것을 놓쳤다 ... 호기심에서, 당신이 실제로 조인 테이블을 가지고있는 이유가 있단다. –
그들은 다른 방향으로 합류합니다. Bar-> FooBars-> Foo – TDaver