使用列表时出现错误的 Fluent NHibernate Schema 输出

Fluent NHibernate Schema output with errors when using list

我有两个 table 是多对一映射的。但是,保持第二个 table 的顺序很重要,所以当我使用自动映射时,Fluent automapper 创建了一个包。我使用以下命令将其更改为强制列表:

.Override(Of ingredients)(Function(map) map.HasMany(Function(x) x.PolygonData).AsList())

(VB.NET语法)

所以我说 "AsList" 而不是使用包,生成的映射 xml 现在包含一个列表。到目前为止还好。然而,

MySQL 无法处理生成的语句。我使用 MySQL55Dialect 来创建语句并且我使用的正是那个版本。但它创建了以下创建:

create table `ingredients` (
    Id INTEGER NOT NULL AUTO_INCREMENT,
   Name FLOAT,
   Amout FLOAT,
   Soup_id INTEGER,
   Index INTEGER,
   primary key (Id)
)

由于 "Index INTEGER," 行而崩溃,但我不知道该怎么做。有什么想法吗?

谢谢!! 最好, 克里斯

我怀疑 Index 可能是 MySQL 的关键字。为避免此类冲突,我们可以定义不同的索引列名(抱歉使用 C# 表示法)

HasMany(x => x.PolygonData)
    .AsList(idx => idx.Column("indexColumnName").Type<int>())