После обновления с NH 3.0 до 3.1 у меня возникли некоторые проблемы с использованием следующего кода:
criteria = session.CreateCriteria<User>()
.Add(SqlExpression.InG<User, int>(user => user.ID, toBeFechted)); // toBefetched is an IList<int>
Это скомпилируется нормально, но при запуске я получаю исключение, как только я добавляю Inусловие к критериям.
System.MissingMethodException: Метод не найден: NHibernate.Criterion.AbstractCriterion NHibernate.Criterion.Restrictions.InG (System.String, System.Collections.Generic.ICollection 1<**UNKNOWN TYPE**>).
at NHibernate.LambdaExtensions.SqlExpression.InG(Expression
1 выражение, ICollection`1 values)
Я могу перестроить запрос, используя QueryOver вместо Criteria, и он будет работать, но для этого нужно выкопать много кода, на который у меня нет времени.При использовании NH 3.0 у меня не было проблемы.
Что-то изменилось в NH 3.1 или у меня какая-то странная проблема с dll?