2009-07-17 24 views
0

これはバグですか? NHibernate.Expression.Example.Create(userExample)を使用すると、クラス 'Type'のInt32クラスでInt32を使用するとすべて正常に動作します。Nhibernate列挙型エラー

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 
    } 

} 

が、基準のリターンヌル列挙型を使用して:、クエリは、これが問題である「ブローカー」を示している

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 
} 

}コンソールで

は、私はそれがのエラーだと思いますNHibernate、sugestions?

+0

マッピングを投稿できますか? – mxmissile

答えて

1

この式を試してみることもできます。私はあなたのデータベースのint型として列挙型を格納すると仮定します。

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

はいはintフィールドです。私は、ユーザーの推測を保存するときNHibernate implype UserTypeをintに変換しますが、ByExampleメソッド... XDを使用します。 これはユニークな方法です。 Expression.Eq( "Type"、(int)userType); ?????? – JoeLoco