【发布时间】:2018-03-21 22:24:46
【问题描述】:
我正在尝试编写一个可重用的 linq 表达式,并将多个参数传递到:
private System.Linq.Expressions.Expression<Func<FeeDetail, FeeDetail, bool>> IsPrevFeeDetail
{
get
{
return (feeLevelDetail, currentFeeLevelDetail) =>
feeLevelDetail.ToDt < currentFeeLevelDetail.FromDt);
}
}
但我见过的每个表达式示例都只使用一个参数(您要查询的实体类型)。
有什么方法可以开箱即用吗?
【问题讨论】:
-
这里的主要问题是 where 采用
Func<T, bool>(或Expression<Func<T,bool>>) - 它单独作用于每一行,而不是成对的行; lambda 部分应该没问题,但是:您打算在哪里使用Func<T,T,bool>?据我所知,LINQ-to-SQL 没有用Func<T,T,bool> -
我正要问这个问题。我也很好奇如何做到这一点。我的示例使用
Func<T, int, bool>。我的 where 子句更简单,如果列值为1或类似的值,我将检查 where 子句。 -
@MarcGravell 是的,我想将它与 LINQ-to-SQL 一起使用,这就是困难......
标签: c# linq lambda linq-to-sql