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
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.
Tags und Links nhibernate interceptor nhibernate-mapping