0
我想使用投影從Lead類創建DTO。例如,我的DTO有一個家庭電話號碼,一個手機號碼和一個電子郵件地址,但是Lead Class有一組聯繫信息。所以我試圖找到一種方法來檢索每個聯繫人詳細信息,以便我可以在dto上設置屬性。我曾嘗試使用子查詢和預測,但無濟於事。NHibernate使用SetProjection來檢索個人收藏項目
我試圖生成SQL是這樣的:
在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'
因此,在短期我試圖根據不同的標準加入到同一個表的3倍,我知道我無法使用CreateAlias多次連接到同一個表,我急於知道這是否可以使用Criteria API或NHIbernate Linq。預先感謝您的幫助。