У DITACHEDCRITERIA / ICRITERIA есть ограничение на глубину присоединения?

StackOverflow https://stackoverflow.com/questions/4296978

Вопрос

Представь, что у меня есть 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");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top