2013-06-11 3 views
-1

Как создать NHibernate запрос, который должен выглядеть следующим образом запроса SQLNHibernate, левое внешнее соединение

select * from A 
left outer join B on A.ID = B.ID 
left outer join C on B.ProdID = C.ProdID 

К сожалению, я не могу использовать именованный запрос. И каково должно быть отображение А?

Спасибо.

+0

возможно дубликат [NHibernate левое внешнее соединение] (http://stackoverflow.com/questions/2756148/nhibernate-left-outer-join) – Peter

+0

Существует инструмент niffty, называемый [NHibernate Mapping Generator] (http://nmg.codeplex.com/). Это может помочь вам использовать синтаксис стилей сопоставления XML, свободного и ByCode. – Justin

+0

Пожалуйста, добавьте текущие сопоставления. –

ответ

0

Карта B как свойство «много-к-одному» A. Отношение B к C не является обычным внешним ключом и не может быть отображено как свойство. Поэтому он не может быть оставлен внешним.

HQL, C не может быть оставлен внешний присоединился:

select * 
from A a 
    left join a.B b, 
    C c 
where 
    c.Description = b.Description 
+0

Извините, за плохое объяснение проблемы, я сделал некоторые изменения, ProdId - это внешний ключ таблицы B. – Yanol

+0

Почему бы и нет? Это очень мощный. –

Смежные вопросы