在NHibernate中转义列名中的问号字符

在NHibernate中转义列名中的问号字符,nhibernate,nhibernate-mapping,hql,Nhibernate,Nhibernate Mapping,Hql,我有一个具有属性的实体,其列名包含问号。如何映射列名,以使HQL查询能够正确生成列名被适当包装的SQL(例如,对于SQL Server为[]),而不是用参数替换问号?我尝试过将列名用反勾号或方括号括起来,但这不起作用。反勾号对我很有效。请记住,仅在映射文件中使用它们,而不是在HQL中使用它们: <property name="Data1" column="`Data1?`" /> 结果如下: select foo0_.[Data1?] as col_0_0_ from Foo fo

我有一个具有属性的实体,其列名包含问号。如何映射列名,以使HQL查询能够正确生成列名被适当包装的SQL(例如,对于SQL Server为[]),而不是用参数替换问号?我尝试过将列名用反勾号或方括号括起来,但这不起作用。

反勾号对我很有效。请记住,仅在映射文件中使用它们,而不是在HQL中使用它们:

<property name="Data1" column="`Data1?`" />
结果如下:

select foo0_.[Data1?] as col_0_0_
from Foo foo0_


更新:这是NHibernate 3.1中的一个bug

这似乎对我不起作用。我得到了以下映射:
当我运行此查询时:
返回_session.CreateQuery(“从访问中选择访问”).List()我得到了这个SQL:
选择visit0\u0[Fixed@p0]正如dbo.tblvists visit0中的Fixed14_22_uu所述,这将导致SqlException无效列名'Fixed@p0@MartinIngham:你用的是什么NH版本?方言和驱动程序?NH版本=3.1.0.4000,方言=NHibernate.dialent.mssql2005dialent,驱动程序=NHibernate.Driver.SqlClientDriver DB server=MS SQL server 2008 R2,提供程序=System.Data。SqlClient@MartinIngham:你发现了一个bug。我在NH tracker中打开了一个问题(请参见编辑)
select foo0_.[Data1?] as col_0_0_
from Foo foo0_