我想在NHibernate中使用“SQL Server模板”来命名参数是“@”而不是“:”?
例如我想用这个:
select * from Users where ID = @id
而不是:
select * from Users where ID = :id
这对于将.hbm.xml文件中的查询从/向SQL驱动器移动非常有用。
有一种方法可以设置命名参数模板的特殊字符吗?
谢谢,
的Alessandro
答案 0 :(得分:1)
冒号是NHibernate源代码中的硬编码常量(参见NHibernate.Hql.ParserHelper.HqlVariablePrefix)。因此,您可能需要仔细查看并更改大量源代码。您将不得不希望所有源代码都使用常量...我猜可能会有很多实例,但事实并非如此。不幸的是,NHibernate代码并不总是那么漂亮。
可能有更好的选择(例如在文本编辑器中使用宏来快速替换)。