如何使用“@”字符设置NHibernate命名参数,如SQL Server?

时间:2014-11-05 09:26:46

标签: nhibernate named-parameters


我想在NHibernate中使用“SQL Server模板”来命名参数是“@”而不是“:”?

例如我想用这个:

select * from Users where ID = @id

而不是:

select * from Users where ID = :id

这对于将.hbm.xml文件中的查询从/向SQL驱动器移动非常有用。
有一种方法可以设置命名参数模板的特殊字符吗?

谢谢,
的Alessandro

1 个答案:

答案 0 :(得分:1)

冒号是NHibernate源代码中的硬编码常量(参见NHibernate.Hql.ParserHelper.HqlVariablePrefix)。因此,您可能需要仔细查看并更改大量源代码。您将不得不希望所有源代码都使用常量...我猜可能会有很多实例,但事实并非如此。不幸的是,NHibernate代码并不总是那么漂亮。

可能有更好的选择(例如在文本编辑器中使用宏来快速替换)。