使用Fluent NHibernate + Oracle驱动程序在CREATE INDEX语句中出现语法错误

时间:2011-12-16 16:25:09

标签: oracle nhibernate fluent-nhibernate syntax-error

我最近在尝试使用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的驱动程序是如此糟糕,或者可能是我滥用它们?

0 个答案:

没有答案