2009-07-17 12 views
0

Ceci est un bug? En utilisant NHibernate.Expression.Example.Create (userExample) si ma classe utilise Int32 sur la propriété 'Type' tout fonctionne correctement.Nhibernate Enum Erreur

public class User:Person 
{ 

    public virtual String NickName { get; set; } 
    public virtual String Password { get; set; } 
    public virtual Int32 Type { get; set; } 

    public enum UserType 
    { 
     Normal = 0, 
     Broker = 1 
    } 

} 

mais en utilisant le ENUM le retour CRITERIA null:

public class User:Person 
{ 
public virtual String NickName { get; set; } 
public virtual String Password { get; set; } 
public virtual UserType Type { get; set; } 

public enum UserType 
{ 
    Normal = 0, 
    Broker = 1 
} 

}

Dans la console, la requête montre 'courtier', c'est le problème, je pense que c'est une erreur de NHibernate, des sugestions?

+0

Pouvez-vous poster votre carte? – mxmissile

Répondre

1

Sans voir votre requête, vous pouvez essayer cette expression. Je suppose que vous stockez l'enum comme un int votre DB.

Expression.Eq("Type",(int) userType); 
+0

Oui est un champ int. Quand j'ai sauvé l'utilisateur, j'ai utilisé un NHibernate, puis j'ai converti UserType en int mais en utilisant la méthode ByExample ... XD !! C'est la manière unique: Expression.Eq ("Type", (int) userType); ?????? – JoeLoco