MySQL с беглым Nhibernate. «Эта версия MySQL пока не поддерживает подзапрос LIMIT & IN / ALL / ANY / SOME» при использовании HasMany - PullRequest
0 голосов
/ 19 апреля 2020

Я использую Fluent Nhibernate (v2.1.2) с MySQL (v8) в основном проекте. net. После сопоставления моего класса с использованием HasMay в одном из свойств класса я получаю эту ошибку

NHibernate.Exceptions.GenericADOException: не удалось выполнить запрос [select (... Некоторые выбирают здесь, например, "item1_. ItemId as col_0_0_ ") из Cart cart0_ оставил внешнее соединение Item item1_ в cart0_.CartId = item1_.CartId, где cart0_.CartId in (выберите cart2_.CartId из Cart cart2_, где? P0 = 1 или cart2_.Description like concat ('%', ? p1, '%') limit? p2,? p3)] Имя: p1 - Значение: True Name: p2 - Значение: null Имя: p3 - Значение: 0 Имя: p4 - Значение: 100 [SQL: выберите ( ...) из корзины cart0_ левое внешнее соединение Item1_ on cart0_.CartId = item1_.CartId где cart0_.CartId in (выберите cart2_.CartId из корзины cart2_ где? p0 = 1 или cart2_.Description like concat ('%' ,? p1, '%') limit? p2,? p3)] - -> MySql .Data.MySqlClient.MySqlException (0x80004005): эта версия MySQL еще не поддерживает "LIMIT & IN / ALL / ANY / НЕКОТОРЫЙ подзапрос '

Вот моя карта классов:

    public class CartMap : ClassMap<Cart>
{
    public CartMap()
    {
        Table("Cart");
        Not.LazyLoad();
        Id(x => x.Id).Column("CartId");
        // (...other properties)
        HasMany(x => x.Item).Table("Item").KeyColumn("CartId").Cascade.None();
    }
}

M y таблицы похожи на:

TABLE Cart 
    CartId int(11) PRIMARY KEY AUTO_INCREMENT,
    Description varchar(500),
    (... other columns)

TABLE Item (
   ItemId int(11) PRIMARY KEY AUTO_INCREMENT,
   CartId int(11)
   (... other columns)

Я думаю, это потому, что Nhibernate использует «limit» для выбора, есть ли другие способы получить тот же результат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...