NHibernate AssertException: Interceptor.OnPrepareStatement (SqlString) gab null oder leer SqlString zurück

8

Ich versuche, eine Tabelle von einer Viele-zu-Eins-Zuordnung zu einer Viele-zu-Viele-Zuordnung mit einer Zwischenzuordnungstabelle zu machen. Als ich es jedoch umstellte und versuchte, eine Abfrage mit NHibernate zu machen, gibt es mir diesen Fehler: "Interceptor.OnPrepareStatement (SqlString) gab null oder leer SqlString zurück."

Meine Abfrage war ursprünglich etwas komplizierter, aber ich habe sie auf eine Grundfunktion umgestellt und habe immer noch das Problem:

%Vor%

Es scheint entweder ein Problem in meinen Modellzuordnungsdateien oder etwas in meiner Datenbank zu sein.

Hier sind meine Modellzuordnungen:

%Vor%

%Vor%

%Vor%

Wie ich bereits erwähnt habe, war MarketUpdate ursprünglich ein Many-to-One mit Market (MarketId-Spalte ist immer noch da, aber ich ignoriere sie. Könnte das ein Problem sein?). Aber ich habe in der Market_MarketUpdate_Map-Tabelle hinzugefügt, um es zu einem Viele-zu-Viele zu machen.

Ich laufe im Kreis und versuche herauszufinden, was das sein könnte. Bei der Suche konnte ich keinen Hinweis auf diesen Fehler finden. Und es bietet nicht viel Detail.

Verwenden:

NHibernate 2.2

.NET 4.0

SQL Server 2005

    
jwynveen 22.12.2010, 18:13
quelle

2 Antworten

16

Es stellte sich heraus, dass das Problem nur darin bestand, dass die XML-Mapping-Datei in Visual Studio als Inhalt und nicht als eingebettete Ressource festgelegt wurde. Änderungen, die alle meine Probleme behoben haben.

    
jwynveen 22.12.2010, 21:54
quelle
1

Wenn Sie für Mappings Fluent anstelle von XML verwenden und dieses Problem auftritt, versuchen Sie, die generierten XML-Dateien in %root%\LocalCache\NHibernate zu löschen.

    
Myles Baker 14.01.2014 15:17
quelle