动态组合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";
                    }

 

转载于:https://www.cnblogs.com/yisheng/p/5581387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值