2

我决定将我的项目 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”项目。

4

1 回答 1

0

该错误可能有解决方案...如果适用于您的情况,请参阅https://nhibernate.jira.com/browse/NH-3129 。

问题是我还没有找到与 NH 3.3.3 兼容的ActiveRecord库。

于 2015-04-21T12:39:49.763 回答