访问列名是保留关键字的表

发布于 2024-09-14 10:38:49 字数 304 浏览 5 评论 0原文

我正在设置 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

っ〆星空下的拥抱 2024-09-21 10:38:49

这将对您有所帮助:

http ://quomon.com/question-How-do-I-handle-database-reserved-words-in-NHibernate-1148.aspx

表是保留关键字的示例:

<class name="User" table="[user]" lazy="false">

我认为这同样适用于列名。将它们包裹在方括号中。

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:

<class name="User" table="[user]" lazy="false">

I think the same applies for column names. Wrap them in square braces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文