プロジェクト 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;
}
何が起こるかというと、更新が次の例外の生成を開始した後です。
タイプ 'System.NotSupportedException' の例外が NHibernate.dll で発生しましたが、ユーザー コードで処理されませんでした
追加情報: Boolean Equals (Int32)
「Equals」を「==」に置き換えるとクエリは機能しますが、Castle ActiveRecord のバージョン 2.1.2 では「Equals」は通常機能します。
「Equals」プロジェクトを置き換えることなく、この問題を回避する方法について助けが必要です。