Nhibernate使用动态Expression的问题解决

首先使用Expression使用动态表达式生成查询条件,

Expression body = Expression.Constant(true);

body = Expression.And(body, expression);

然后执行查询

session.QueryOver<Customer>().Where(prediate).List();

报错如下:

无法将类型为“NHibernate.Hql.Ast.HqlBitwiseAnd”的对象强制转换为类型“NHibernate.Hql.Ast.HqlBooleanExpression”

解决方法:

使用Expression.AndAlso代替Expression.And

posted @ 2013-03-12 09:44  ido  阅读(1763)  评论(0编辑  收藏  举报