Castle ActiveRecord 3:使用Equals的ActiveRecordLinq查询不起作用
本文关键字:ActiveRecordLinq 查询 不起作用 Equals 使用 ActiveRecord Castle | 更新日期: 2023-09-27 18:21:32
我决定将我的项目ASP.NET MVC 4中的Castle ActiveRecord版本从2.1.2版迁移到3.0.0版。还将NHibernate 2.1.2版本更新为3.1.0版本。在我的ActiveRecordLinq项目中有几个查询(有必要更新对Castle.ActiveRecord.Framework的引用),如下例所示:
public IList <City> ReturnCities()
{
IList <City> units = (from u in ActiveRecordLinq.AsQueryable<City>()
where (u.Id <= 52 || u.Id.Equals(900))
select u).ToList<City>();
return units;
}
发生的情况是,在更新开始后生成以下异常:
NHibernate.dll中发生"System.NotSupportedException"类型的异常,但未在用户代码中处理
附加信息:布尔等式(Int32)
如果我将"Equals"替换为"==",则查询有效,但在Castle ActiveRecord的2.1.2版本中,"Equal斯"通常有效。
我需要帮助解决这个问题,而不必离开替换"Equals"项目。
可能有解决该错误的方法。。。看见https://nhibernate.jira.com/browse/NH-3129如果适用于您的情况。
问题是,我还没有找到与NH3.3.3兼容的ActiveRecord库。