【发布时间】:2018-12-26 22:05:39
【问题描述】:
我希望能够实现一种搜索方法,该方法可以将我的 POCO 类的任意属性作为参数。这很好用:
public static IEnumerable<iUser> Search(DataContext context, Func<iUser, bool> predicate)
{
return from i in context.GetTable<iUser>().Where(predicate) select i;
}
但在这种情况下,过滤似乎发生在收集表中的所有行之后。
是否可以使用 Linq 生成这样的任意查询而无需在 sql 调用后进行过滤?你会推荐什么方法?
谢谢!
【问题讨论】:
-
将返回类型更改为
IQueryable<iUser>。并删除from和select部分,这里没有必要。 -
我不知道 LINQ to DB,但我很确定谓词应该是
Expression<Func<iUser,bool>>。 -
感谢@GertArnold 和@JeffArnold!这两个一起解决了我的问题。
标签: linq2db