2009-07-17 214 views
0

这是一个错误? 使用NHibernate.Expression.Example.Create(userExample)如果我的类在属性'Type'上使用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 
    } 

} 

但使用枚举的标准返回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 
} 

}

在控制台,查询出现“经纪人”,这是问题,我认为这是一个错误NHibernate的,任何sugestions?

+0

你可以发布你的映射吗? – mxmissile 2009-07-17 15:57:59

回答

1

没有看到你的查询,你可以试试这个表达式。我假设你将枚举存储为int你的分贝。

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

是的是一个int字段。当我保存用户导致NHibernate然后暗示转换UserType为int,但使用ByExample method..XD! (“Type”,((int)userType);这是一种独特的方式: 这是独特的方式: Expression.Eq ?????? – JoeLoco 2009-07-17 15:22:43