Fehler im NHibernate Aliasing

9

Ich verwende NHibernate für meine Datenbankverwaltung. In einer Klasse berechne ich eine Eigenschaft mit dieser Formel:

%Vor%

Die generierte Abfrage sieht folgendermaßen aus:

%Vor%

Offensichtlich wird der Name in der AS-Anweisung in this_.x umbenannt, was den Fehler verursacht.

Es scheint ein bekannter Fehler zu sein: NHibernate JIRA # NH-2878

Hat Enyon eine Lösung dafür?

    
Coxer 02.03.2012, 14:10
quelle

3 Antworten

1

Ich könnte mich irren, aber ich verstehe nicht, warum Sie den Alias ​​in dieser speziellen Formel brauchen.

In einem allgemeineren Sinn haben Sie ein paar Optionen:

  • Umgehen Sie das Problem. Sie können eine gespeicherte Prozedur verwenden oder mehr Daten laden und die Berechnung im Arbeitsspeicher ausführen.
  • Fix it. NHibernate ist Open Source - ziehe den Code herunter, finde die Ursache, isoliere ihn in einem Test, behebe ihn und sende eine Pull-Anfrage.
  • Lassen Sie sich von jemand anderem helfen, das Problem zu beheben. Wenn Ihr Unternehmen NHibernate verwendet und dies für sie wichtig ist, könnten sie wahrscheinlich einen anderen NHibernate-Mitarbeiter zur Implementierung eines Fixes sponsern.
Jay 02.03.2012, 14:26
quelle
1

Ich hatte das gleiche Problem beim Aufruf einer Datenbankfunktion innerhalb einer Fluent NHibernate Map.Formula () -Methode. Meine Abhilfe bestand darin, den vollständigen Funktionsnamen zu wiederholen, anstatt zu versuchen, einen Ailas zu verwenden.

Beispiel: EntityColumn2 ist eine Spalte, auf die bereits in der Entität \ verwiesen wird.

%Vor%

Das Ergebnis ist, dass die My_Db_Function Referenzen unverändert bleiben (und nicht von NHibernate aliasiert werden) und die EntityColumn2 korrekt von NHibernate aliasiert wird.

    
MoMo 21.12.2012 21:05
quelle
0

Ich würde nicht wissen, wie ich den Fehler beheben kann, aber Sie könnten versuchen, Ihre Berechnung wie folgt zu schreiben:

%Vor%     
Al P 26.03.2012 20:49
quelle

Tags und Links