Как сделать 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));