Domanda

ho usato per essere in grado di eseguire il codice riportato di seguito come un multi query in NHibernate 2.1 utilizza MySQL

var 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);

dove esempio LeagueInfoQuery è solo un oggetto di query personalizzata che può creare un ICriteria standard.

Tuttavia, dal momento che l'aggiornamento a NHibernate 3,0 ho ora ottenere un errore di sintassi. Il messaggio di eccezione è la seguente.

  

{ "Errore durante l'esecuzione selezioni:   [SELECT count (*) come y0_ DA League   this_ DOVE this_.User =   ? P0; \ r \ nSelezionare this_.Id come y0_,   this_.Name come y1_, min (f1_.Date) come   y2_, max (f1_.Date) come y3_,   contare (distinta t2_.Id) come y4_ FROM   League this_ join interno Team t2_   su this_.Id = t2_.League interno uniscono   Fixture F1_ su this_.Id = f1_.League   DOVE this_.User =? P1 GROUP BY   this_.Name ORDER BY limite disc y0_   ? P1; \ r \ n] "}

interno Eccezione:

  

{ "Hai un errore nella SQL   sintassi; controllare il manuale che   corrisponde al server MySQL   versione per la sintassi diritto di utilizzo   vicino   '' B68d9d4e-a958-4fb8-8490-9e4401572f38 ''   at line 1" }

Quindi sembra un errore di sintassi, ma questo non ha usato accadere in v2.1 e se modificare l'SQL nel messaggio in modo che i parametri sono valori che posso farlo funzionare.

Allora, perché è questo errore ora che si verificano in NHibernate 3.0? Ho bisogno di configurare qualcosa in particolare per la sintassi MySQL e se sì, quali?

Saluti.

È stato utile?

Soluzione

Questo è stato un problema con NHibernate 3, che ora è stato risolto (grazie! )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top