Est-ce que DetachedCriteria / ICriteria ont toute restriction à se joindre à la profondeur?
-
28-09-2019 - |
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é.
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