我正在设置Castle Active Record以访问Microsoft SQL Server上的旧数据库。相关表格中有一个名为 function 的列。当我无法加载记录时,它会给我这个错误:
关键字'function'
附近的语法不正确出现此错误是因为SQL查询nhibernate生成了访问名为function的列的尝试,该列恰好是受限制的关键字。修复是将列名称包装在SQL语句中的方括号([function])中。是否有可能告诉nhibernate在其自动生成的SQL中执行此操作?
答案 0 :(得分:1)
这将对您有所帮助:
http://quomon.com/question-How-do-I-handle-database-reserved-words-in-NHibernate-1148.aspx
表是保留关键字的示例:
<class name="User" table="[user]" lazy="false">
我认为同样适用于列名。用方括号包裹它们。