我最近在尝试使用Fluent NHibernate映射和Oracle 11g创建索引时遇到以下错误。
ORA-00969: missing ON keyword
Colum mapping如下:
References(i => i.Revision)
.Not.Nullable()
.Index("idx_Revision");
当给出生成的SQL语句时,错误并不令人惊讶:
create index "DAILYREVISION"idx_Revision on Report."DAILYREVISION" (RevisionId)
(表和模式名称已更改)
很明显,索引名称之前的语法错误,没有'。'和表名而不是模式名。但是,在我看来,没有太多可以帮助它,而不是自己搞乱数据库。
有任何建议如何解决问题?谷歌说这不是很常见的例外,你的经历是什么?
顺便说一下。我还遇到了与Oracle保留名称列名冲突的一些问题。这让我开发了自己的命名约定来强制使用引号。我真的希望司机默认处理它。
Oracle NH的驱动程序是如此糟糕,或者可能是我滥用它们?