我有一個集合,我在下面查詢。在where子句中結合兩個LINQ條件
this.Collection.AsQueryable().Where(x => x.FirstName = "FirstName" && x => x.LastName= "LastName");
現在基於一個布爾值,我想另一個& &條件添加到where子句。
我該怎麼做呢?我嘗試了下面。
var firstExpr = x => x.FirstName = "FirstName" && x => x.LastName= "LastName";
var newExpr = firstExpr;
if (includeAge)
{
Expression<Func<T, bool>> ageExpr = x => x.Age == 21;
var combined = Expression.AndAlso(ageExpr.Body, firstExpr.Body);
var newExpr = Expression.Lambda<Func<T, bool>>(combined);
}
this.this.Collection.AsQueryable().Where(newExpr);
但我得到一個異常 - System.ArgumentException:不正確的數量爲拉姆達聲明
它是什麼意思,說不正確的參數數量?在newExpr上的權利? –