Я использую 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» для выбора, есть ли другие способы получить тот же результат?