Does DetachedCriteria / ICriteria haben keine Einschränkung auf Tiefe verbinden?
-
28-09-2019 - |
Frage
Stellen Sie sich vor ich habe C1
, C2
und C3
Klassen. Angenommen, wir string dummy = c1.ContainerC2.ContainerC3.Prop1
haben. Gibt es eine Einschränkung, die nicht zulässt, mir einen Alias ??direkt von C3
zu erstellen, ohne in den Kriterien anderen Klassen zu haben? Zum Beispiel:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateAlias("ContainerC2.ContainerC3", "alias_abcdef");
Ich habe Probleme mit ihm. Es generiert SQL-Abfrage, hat folgende Fehlermeldung:
Der mehrteilige Bezeichner „alias_cont1_.HotelName“ konnte nicht gebunden werden.
Lösung
Sie können nicht direkt mit Criteria API zum ContainerC2 gehen. Stattdessen sollten Sie Folgendes tun:
DetachedCriteria criteria = DetachedCriteria.For<T>("root");
criteria.CreateCreteria("ContainerC2")
.CreateAlias("ContainderC3", "alias_abcdef");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow