У DITACHEDCRITERIA / ICRITERIA есть ограничение на глубину присоединения?
-
28-09-2019 - |
Вопрос
Представь, что у меня есть C1
, C2
и C3
классы. Предположим, мы можем иметь string dummy = c1.ContainerC2.ContainerC3.Prop1
. Отказ Есть ли какие -либо ограничения, которые не позволяют мне создавать псевдоним непосредственно из C3
без других классов в критериях? Например:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateAlias("ContainerC2.ContainerC3", "alias_abcdef");
У меня проблемы с этим. Он генерирует SQL-запрос, который имеет следующее сообщение об ошибке:
Идентификатор многочастота «Alias_Cont1_.hotelname» не может быть связан.
Решение
Вы не можете перейти в Continace2 напрямую с критериями. Вместо этого вы должны сделать фольт:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateCreteria("ContainerC2")
.CreateAlias("ContainderC3", "alias_abcdef");
Не связан с StackOverflow