Syntaxfehler auf Multi-Abfrage in NHibernate 3 und MySQL
-
09-10-2019 - |
Frage
Früher habe ich in der Lage sein den folgenden Code als Multi-Abfrage in NHibernate 2.1 mit MySQL
laufenvar total = new LeagueInfoQuery { Count = true, User = CurrentUser }.CreateCriteria(session).FutureValue<int>();
var leagues = new LeagueInfoQuery { User = CurrentUser, PageSize = pageSize, Page = page, SortBy = sortBy, SortAsc = sortAsc }.CreateCriteria(session).Future<LeagueInfo>();
var results = PaginationHelper.CreateCustomPage<LeagueInfo>(leagues, pageSize, page, total.Value);
Dabei gilt z LeagueInfoQuery ist nur eine benutzerdefinierte Abfrage Objekt, das eine Standard ICriteria erstellen können.
Da jedoch ein Upgrade auf NHibernate 3.0 Ich bekomme jetzt einen Syntaxfehler. Die Ausnahmemeldung ist wie folgt.
{ "Fehler Multi Kriterien ausführen: [SELECT Count (*) FROM als y0_
League
this_ WHERE this_.User = p0;? \ r \ NSELect this_.Id als y0_, this_.Name als y1_, min (f1_.Date) als y2_, max (f1_.Date) als y3_, zählen (distinct t2_.Id) als y4_ FROMLeague
this_ innerenTeam
T2_ beitreten auf this_.Id = t2_.League ExklusionsverknüpfungFixture
f1_ auf this_.Id = f1_.League WHERE this_.User = p1 GROUP BY this_.Name ORDER BY y0_ desc Limit ? P1; \ r \ n] "}
Innere Ausnahme:
{ "Sie haben einen Fehler in Ihrer SQL Syntax; Sie in der Bedienungsanleitung entspricht Ihrem MySQL-Server Version für die richtige Syntax zur Verwendung in der Nähe von '' B68d9d4e-a958-4fb8-8490-9e4401572f38 '' in Zeile 1" }
So ist es wie ein Syntaxfehler aussieht, aber diese nicht genutzt in v2.1 passieren und wenn ich bearbeiten die SQL in der Nachricht, so dass die Parameter sind Werte, die ich es an der Arbeit bekommen kann.
Also, warum ist dieser Fehler auftritt, jetzt in NHibernate 3.0? Muss ich configure etwas Bestimmtes für MySQL-Syntax und wenn ja, was?
Prost.
Lösung
Das war ein Problem mit NHibernate 3, die aufgelöst (danke! )