18 Stimmen

Wie man ein NotEqual to in NHibernate ausführt

Ich habe eine Aufzählung vom Typ int in meiner Entität, UserStatus.

Ich möchte alle Benutzer ermitteln, deren UserStatus <> Abgebrochen ist.

Also:

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

Die oben genannten ist für gleich, ich muss nicht gleich bekommen.

45voto

zoidbeck Punkte 4011

Mit Dank an Alex verwenden Sie dies für NH2 und höher:

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

Bei älteren Versionen wäre dies der Fall:

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

3voto

Ben Punkte 1697
.Add(!Restrictions.Eq(propertyName, value));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X