Non DetachedCriteria / ICriteria ha alcuna restrizione unire la profondità?
-
28-09-2019 - |
Domanda
Immaginate ho classi C1
, C2
e C3
. Supponiamo che possiamo avere string dummy = c1.ContainerC2.ContainerC3.Prop1
. C'è qualche restrizione che non mi permette di creare un alias direttamente dalla C3
senza avere altre classi nei criteri? Ad esempio:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateAlias("ContainerC2.ContainerC3", "alias_abcdef");
Non ho problemi con esso. Esso genera query SQL che ha seguente messaggio di errore:
L'identificatore in più parti "alias_cont1_.HotelName" potrebbe non essere vincolato.
Soluzione
Non si può andare al ContainerC2 direttamente con CriteriaAPI. Invece si dovrebbe fare il folloing:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateCreteria("ContainerC2")
.CreateAlias("ContainderC3", "alias_abcdef");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow