Projectionを使ってLeadクラスからDTOを作成しようとしています。私のDTOには、自宅の電話番号、携帯電話番号、電子メールアドレスなどがありますが、リードクラスには連絡先の詳細が集められています。だから、私はdtoのプロパティを設定できるように各連絡先の詳細を取得する方法を見つけることを試みています。サブクエリと予測を使用しようとしましたが、無駄です。NHibernate SetProjectionを使って個々のコレクションアイテムを取得する
私は生成しようとしているSQLはこのようなものである:だから要するに、私は別の基準に基づいて、同じテーブルに3回に参加しようとしている、と私はNHibernateの中にいることを知っている
SELECT
A.LeadId,
B.ContactId,
B.Value,
C.ContactId,
C.Value,
D.ContactId
FROM Lead A
LEFT JOIN ContactDetail B ON A.LeadId=B.LeadId AND B.ContactType='Home Number'
LEFT JOIN ContactDetail C ON A.LeadId=C.LeadId AND C.ContactType='Mobile Number'
LEFT JOIN ContactDetail D ON A.LeadId=D.LeadId AND D.ContactType='Email Address'
CreateAliasを使用して同じテーブルに複数回参加することはできません。Criteria APIまたはNHIbernate Linqを使用してこれが可能かどうかを知りたいです。助けを前にありがとう。