访问列名是保留关键字的表
我正在设置 Castle Active Record 以访问 Microsoft SQL Server 上的旧数据库。相关表有一个名为 function 的列。当我尝试加载一条记录时,它给出了这个错误:
关键字 'function' 附近的语法不正确
出现此错误的原因是 SQL 查询 nhibernate 生成尝试访问名为 function 的列,而该列恰好是受限制的关键字。修复方法是在 SQL 语句中将列名括在方括号 ([function]) 中。是否可以告诉 nhibernate 在其自动生成的 SQL 中执行此操作?
I am setting up Castle Active Record to access a legacy database on an Microsoft SQL Server. The table in question has a column named function. When I attampt to load a record it gives me this error:
Incorrect syntax near the keyword 'function'
This error comes about because the SQL query nhibernate generates attempts to access the column named function, which happens to be a restricted keyword. The fix is to wrap the column name in square braces ([function]) in the SQL statement. Is it possible to tell nhibernate to do this in its autogenerated SQL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这将对您有所帮助:
http ://quomon.com/question-How-do-I-handle-database-reserved-words-in-NHibernate-1148.aspx
表是保留关键字的示例:
我认为这同样适用于列名。将它们包裹在方括号中。
This will help you:
http://quomon.com/question-How-do-I-handle-database-reserved-words-in-NHibernate-1148.aspx
Example where table is a reserved keyword:
I think the same applies for column names. Wrap them in square braces.