Как сделать NotEqual в NHibernate

У меня есть перечисление типа int в моей сущности UserStatus.

Я хочу получить всех пользователей, где UserStatus < > Canceled.

Итак:

Session.CreateCriteria(typeof(User))
.Add(Expression.Eq("UserStatus", (int)UserStatus.Cancelled)
.UniqueResult<User>();

Вышеперечисленное равнозначно, мне нужно получить не равный.

Ответы

Ответ 1

Благодаря Alex использует это для NH2 и вверх:

Session.CreateCriteria(typeof(User))
.Add(Restrictions.Not(Restrictions.Eq("UserStatus", (int)UserStatus.Cancelled))
.UniqueResult<User>();

Для старых версий это будет:

Session.CreateCriteria(typeof(User))
.Add(Expression.Not(Expression.Eq("UserStatus", (int)UserStatus.Cancelled))
.UniqueResult<User>();

Ответ 2

.Add(!Restrictions.Eq(propertyName, value));