gpt4 book ai didi

sql - 你怎么能阻止 NHibernate(通过 ActiveRecord)添加 this_.到公式中的表名

转载 作者:行者123 更新时间:2023-12-02 02:31:07 25 4
gpt4 key购买 nike

我正在使用 CaSTLe ActiveRecord,它在底层使用 NHibernate,并且我已经向我的一个实体添加了一个具有如下公式的属性:

[Property(Formula = "CAST((select count(*) from [User] as u where u.Email = FriendEmail) as bit)")]
public bool FriendRegistered { get; set; }

问题是现在对该实体的任何查询都会失败,因为 NHibernate 在公式中的 User 之前添加了 this_.。这导致以下 SQL:

CAST((select count(*) from this_.[User] as u where u.Email = this_.FriendEmail) as bit) as formula0_7_

我尝试使用不同的表名只是为了测试并且效果很好所以我猜它只影响共享保留字的表,例如“用户”。

我尝试过使用反引号对其进行转义,还尝试删除“from”和“[User]”之间的空格,并尝试添加架构 (dbo.),但都没有成功。

这听起来像是 NHibernate 中的错误,我发现了类似的错误报告:https://nhibernate.jira.com/browse/NH-1617

我想我的问题是:是否有解决此问题的方法或某处的设置,甚至是我不知道的处理方法?

我们使用 NH 2.1.2 和 MsSql2008Dialect 方言。

提前致谢

安迪

最佳答案

在那个 JIRA 问题的结尾,Fabio 在方言中提到了 RegisterKeyword("int"),所以我会尝试添加 RegisterKeyword("bit")

关于sql - 你怎么能阻止 NHibernate(通过 ActiveRecord)添加 this_.到公式中的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com