我制作了一个自定义方言,以便能够通过 ODBC 将 NHibernate 与 Progress/OpenEdge 数据库一起使用。在大多数情况下,方言可以正常工作,但我对 SELECT TOP 语句有疑问。问题是语句生成如下,列的数量作为参数返回:
SELECT TOP ? SomeColumn
FROM SomeTable
where SomeColumn = ?; p0 = 100, p1 = 'test'
Progress/Openedge 数据库不支持这一点,所以我想对方言进行一些更改,强制语句不使用 SELECT TOP 中列数量的参数 - 如下所示:
SELECT TOP 100 SomeColumn
FROM SomeTable
where SomeColumn = ?; p0 = 'test'
这可能吗?
顺便说一句,我正在使用 NHibernate v. 3.3.1