动态组合lambda 表达式

 //记录实体集合—动态组合lambda 表达式
Expression<Func<AdEntity, bool>> thirdWhere =
p => p.Observer.Split(',').Contains(ortableEntity.CompanyAdtId.ToString()) &&
p.AdStartDate <= commonProperty.SystemDateTime &&
p.ThirdAdId != ortableEntity.ThirdAdId;
//质量管理检查记录 动态组合lambda 表达式
Expression<Func<CheckEntity, bool>> checkWhere =
p => p.CheckGroupPerson.Split(',').Contains(ortableEntity.CompanyAdtId.ToString()) &&
p.CheckStartDate <= commonProperty.SystemDateTime;
//判断是否添加开始日期的校验
if (orTableWorking != null)
{
Expression<Func<AdEntity, bool>> starttWhere = p => p.AdStartDate >= orTableWorking.ParenORTable.ReportDate;
var invokedExpr = Expression.Invoke(starttWhere, thirdWhere.Parameters);
thirdWhere = Expression.Lambda<Func<AdEntity, bool>>
(Expression.And(thirdWhere.Body, invokedExpr), thirdWhere.Parameters); Expression<Func<CheckEntity, bool>> startcWhere = p => p.CheckStartDate >= orTableWorking.ParenORTable.ReportDate;
invokedExpr = Expression.Invoke(startcWhere, checkWhere.Parameters);
checkWhere = Expression.Lambda<Func<CheckEntity, bool>>
(Expression.And(checkWhere.Body, invokedExpr), checkWhere.Parameters);
strOrTableWorking = orTableWorking.WorkingExperience + "\n";
}
上一篇:菜鸟学习Spring——初识Spring


下一篇:关于 ASP.NET MVC 中的视图生成