Рассмотрим следующий сценарий:
Класс A имеет отношение один ко многим с классом B. Класс B имеет отношение многие к одному с классом C.
class A {
IList<B> BList {get;set;}
}
class B {
C CMember{get;set;}
}
class C {
//null
}
Если я загружаю класс B из базы данных, используя что-то вроде
IList<B> result = query.List<B>();
, все работает как положено,
Однако, если я делаю что-то вроде:
DetachedCriteria query = DetachedCriteria.For(typeof(A));
query.CreateAlias("B", "B", JoinType.InnerJoin);
IList<A> result = query.List<A>();
, тогда,NHibernate также выберет из таблицы C и загрузит все Cs.
Отображения ниже: Отображение ...
<bag name="BList " table="B" lazy="true" inverse="false">
<key column="id" />
<one-to-many class="B" />
</bag>
Отображение B ...
<many-to-one class="C" name="CMember" column="idC" lazy="proxy" outer-join="true" />
ЛюбоеИдеи?Спасибо.