私のNHibernateマッピングでは:
(1) 「個人」には、名前、住所、電話、および登録のコレクションが含まれます。(2) 「登録」には、CourseOfferings、Statuses、および Flags のコレクションが含まれています。
以下は、登録とフラグの複数の結果 (デカルト) を含む結果を返します。ただし、トップ レベル (つまり、個人) は異なります。
var query = session.QueryOver<Individual>()
.Left.JoinAlias(i => i.Names, () => name)
.Left.JoinAlias(i => i.Addresses, () => address)
.Left.JoinAlias(i => i.Phones, () => phone)
.Where(i => name.ToDate == null)
.Where(i => phone.ToDate == null)
.Where(i => address.ToDate == null)
.Where(i=>i.ContactId ==748)
.OrderBy(Projections.Property(() => name.NameOther)).Asc
.Left.JoinQueryOver(i => i.Enrolments, () => enrolment)
.Left.JoinAlias(s => s.Statuses, () => status)
.Left.JoinAlias(s => s.CourseOffering, () => courseOffering)
.Left.JoinAlias(s => s.Flags, () => flag)
.Where(s => status.ToDate == null)
.Where(s => flag.ToDate == null)
//.TransformUsing(Transformers.AliasToBean<StudentEnrolment>())
.TransformUsing(Transformers.DistinctRootEntity)
どんな助けでも大歓迎です。
前もってありがとう、ダルメッシュ