0
我有一个实体,它有一个enum类型的字段,它在我的数据库中作为整数持久化。根据枚举的枚举限制使用ICriteria的NHibernate查询
当使用ICriteria从数据库中检索对象时,我希望将结果限制为那些字段是枚举值集合成员的结果。是否限制?与一系列枚举一起工作?
以下不起作用。我是否必须在查询的“restrictions.in”部分执行类似于类型转换的操作?
var myEnumCollection = new MyEnum[] { MyEnum.One };
return FindAll<MyType>(Restrictions.In("EnumProperty", myEnumCollection));
的FindAll是封装
criteria.GetExecutableCriteria(Session).List<MyType>()
有几件事可能会帮助你在这里得到答案...... 1)发布你的枚举属性的映射,2)发布由这个critiera查询生成的结果sql。 – DanP 2010-09-20 11:15:45
我遇到了和你一样的问题(我已将enum转换为int,但仍出现错误,提示“无法在InExpression中使用集合”。由于这是一个非常古老的问题,因此我想知道您是否找到了解决方案? 谢谢 – Beatles1692 2015-02-07 14:54:24