Вопрос

Раньше я имел в состоянии запустить следующий код в виде нескольких запросов в Nibernate 2.1 с использованием 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);

Где, например, LeagugeInfoquery - это просто пользовательский объект запроса, который может создать стандартную ICRITERIA.

Однако, поскольку модернизация к Nibernate 3.0 я теперь получаю синтаксисную ошибку. Сообщение об исключении заключается в следующем.

{"Ошибка выполнения нескольких критериев: [Выберите Count (*) как y0_ от Leagueэто_ где this_.user =? p0; r nlect this_.id as y0___.name as y1_, min (f1_date) как y2_, max (f1_date) как y3_, счетчик (отчетливый t2_.id) как y4_ от League Это во внутреннем присоединении Team t2_ на this_.id = T2_.League Внутреннее соединение Fixture f1_ on this_.id = f1_.league, где this_.user =? p1 group by this_.name Заказ y0_ desc Limit? P1; r n] "}

Внутреннее исключение:

{«У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом '' b68d9d4e-a958-4fb8-8490-9e4401572f38 '' в строке 1"}

Таким образом, он выглядит как ошибка синтаксиса, но это не использовалось, чтобы произойти в V2.1, и если я редактирую SQL в сообщении, чтобы параметры были значениями, которые я могу заставить его работать.

Так почему эта ошибка сейчас происходит в Nibernate 3.0? Нужно ли настроить что-то, в частности, для синтаксиса MySQL, и если так, что?

Ваше здоровье.

Это было полезно?

Решение

Это была проблема с Nhibernate 3, которая теперь была решается (спасибо!)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top