2

Я решил перенести версию Castle ActiveRecord в мой проект ASP.NET MVC 4 с версии 2.1.2 до 3.0.0. Была также обновлена ​​версия NHibernate 2.1.2 до версии 3.1.0. Есть несколько запросов на моем проекте с ActiveRecordLinq (это было необходимо обновить ссылку на Castle.ActiveRecord.Framework), как в примере ниже:Замок ActiveRecord 3: запросы ActiveRecordLinq с использованием Equals не работают

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)

Если я заменил «Равно» на «==», то запрос работает, но в версии 2.1.2 замка ActiveRecord «Равно» обычно работает.

Мне нужна помощь в том, как обойти эту проблему, не оставляя замену проекта «Равно».

ответ

0

Возможно, решение для этой ошибки ... см. https://nhibernate.jira.com/browse/NH-3129, если оно применимо к вашему делу.

Проблема в том, что я не нашел ActiveRecord библиотека, совместимая с NH 3.3.3.