Question

Imaginez que j'ai des classes C1, C2 et C3. Supposons que nous pouvons avoir string dummy = c1.ContainerC2.ContainerC3.Prop1. Y at-il restriction qui ne me permet pas de créer un alias directement à partir C3 sans avoir d'autres classes dans les critères? Par exemple:

DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateAlias("ContainerC2.ContainerC3", "alias_abcdef");

J'ai des problèmes avec elle. Il génère la requête SQL qui a message d'erreur suivant:

L'identifiant multi-partie « alias_cont1_.HotelName » ne pouvait pas être lié.

Était-ce utile?

La solution

Vous ne pouvez pas aller à l'ContainerC2 directement avec CriteriaAPI. Au lieu de cela, vous devez faire le folloing:

DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateCreteria("ContainerC2")
        .CreateAlias("ContainderC3", "alias_abcdef");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top