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.

È stato utile?

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
scroll top