如何在NHibernate中做一个不等于

时间:2010-04-25 21:49:46

标签: c# nhibernate

我的实体中有一个int类型的枚举,UserStatus。

我想让UserStatus<>所有用户都知道取消。

所以:

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

以上情况相同,我需要不相等。

2 个答案:

答案 0 :(得分:43)

感谢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>();

答案 1 :(得分:2)

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