Nhibernate - 数据库端查询

时间:2012-08-26 01:24:36

标签: c# linq nhibernate filter expression

1 个答案:

答案 0 :(得分:1)

您的代码存在两个问题。

首先是你如何宣布你的方法:

Func<T, bool> ComposeFilter

执行此操作时,您将返回已编译的委托,并且所选的Where扩展方法重载来自Enumerable而不是Queryable

您必须将其声明为:

Expression<Func<T, bool>> ComposeFilter

第二个问题是您编写的代码无法转换为表达式树。由于您没有使用原语而是动态构建表达式,因此您需要了解System.Linq.Expressions中的内容。

相关问题