我决定将我的项目 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 版中,“Equals”通常有效。
我需要有关如何解决此问题的帮助,而不必离开替换“Equals”项目。