Я сделал собственный диалект, чтобы иметь возможность использовать NHibernate с базой данных Progress/OpenEdge через ODBC. В большинстве случаев диалект работает нормально, но у меня проблема с операторами 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