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

发布于 2024-11-04 03:19:20 字数 116 浏览 0 评论 0原文

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

I have an entity with a property whose column name contains a question mark. How do I map the column name so that an HQL query will correctly generate SQL with the column name wrapped appropriately (i.e. [] for SQL Server) instead of substituting a parameter for the question mark? I have tried wrapping the column name in backticks or square brackets but this doesn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

大海や 2024-11-11 03:19:20

反引号对我来说效果很好。请记住仅在映射文件中使用它们,而不是在 HQL 中使用它们:

<property name="Data1" column="`Data1?`" />

此查询:

session.CreateQuery("select Data1 from Foo").List();

结果为此 SQL:

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

更新:这是 NHibernate 3.1 中的一个错误。 已创建 Jira 问题

Backticks work fine for me. Remember to use them only in the mapping file, not in the HQL:

<property name="Data1" column="`Data1?`" />

This query:

session.CreateQuery("select Data1 from Foo").List();

Results in this SQL:

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

Update: this is a bug in NHibernate 3.1. Jira issue created

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