Ich brauche eine Konstante aus einer HQL-Abfrage in nHibernate zurückzukehrenNHibernate: Rückkehr eine Konstante in HQL
SELECT new NDI.SomeQueryItem(user, account, " + someNumber + ")
FROM NDI.SomeObject object
Ich versuche, für so etwas wie oben. Ich habe dies versucht:
SELECT new NDI.SomeQueryItem(user, account, :someNumber)
FROM NDI.SomeObject object
Und dann später:
.SetParameter("someNumber", 1).List<SomeQueryItem>();
Aber im ersten Fall erhalte ich ein ‚Nicht definiert Alias oder unbekannte Abbildung 1‘. Das macht einen gewissen Sinn, da es wahrscheinlich die 1 für einen Alias hält.
Für die Sekunde bekomme ich ein 'Undefined Alias oder unbekanntes Mapping: someNumber' was wiederum Sinn macht, wenn es nie den Parameter setzt.
Ich muss glauben, dass es einen Weg gibt, dies zu tun.
"NHibernate ist das Zuordnen, was sich in Ihrer Datenbank auf Objekten befindet" Ein guter Punkt, ein Problem besteht darin, dass dieser Wert auf Werten außerhalb der Datenbank basiert und der Konstruktor des Elements auf dem Wert basiert. Es ist fast wie Relay-Informationen mit der Abfrage. Ich werde hier nicht richtig oder falsch argumentieren ... –
Das Element kann es sich nicht leisten, Konstruktorlogik wie diese zu haben, wenn es ein NHibernate-Objekt ist - das verhindert, dass es die Art von POCO ist, mit der NHibernate arbeiten soll. –
Ich hasse es, dass du genau darüber merkst. Ich denke, diese Frage könnte als intellektueller Selbstmord ... öffentlich und brutal abgetan werden. –