2014-11-05 2 views
1


Я хочу использовать в NHibernate «шаблон SQL Server» для именованных параметров, который является «@» вместо «:»?Как установить NHibernate именованный параметр, например SQL Server, с символом «@»?

Например, я хочу, чтобы использовать эту функцию:

select * from Users where ID = @id

вместо этого:

select * from Users where ID = :id

Это будет очень полезно для перемещения запроса в .hbm.xml файлы из/в Редактор SQL.
Есть способ установить специальный символ шаблона именованного параметра?

Спасибо,
Алессандро

ответ

1

кишка является жестко постоянной в исходном коде NHibernate (см NHibernate.Hql.ParserHelper.HqlVariablePrefix). Таким образом, вам, вероятно, нужно будет внимательно изучить и изменить много исходного кода. Вы должны надеяться, что весь исходный код использует константу ... Я бы предположил, что может быть много случаев, когда это не так. К сожалению, код NHibernate не всегда так хорош.

Есть, вероятно, лучшие альтернативы (например, использование макроса в текстовом редакторе для быстрой замены).

Смежные вопросы