【发布时间】:2013-10-25 01:34:02
【问题描述】:
我正在使用 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 方言。
提前致谢
安迪
【问题讨论】:
标签: sql nhibernate castle-activerecord