首页 > 其他 > 详细

动态组合lambda 表达式

时间:2016-06-13 18:44:03      阅读:274      评论:0      收藏:0      [点我收藏+]
 //第三方审核记录实体集合—动态组合lambda 表达式
                    Expression<Func<ThirdAdEntity, bool>> thirdWhere =
                        p => p.Observer.Split(,).Contains(ortableEntity.CompanyAdtId.ToString()) &&
                             p.AdStartDate <= commonProperty.SystemDateTime &&
                             p.ThirdAdId != ortableEntity.ThirdAdId;
                    //质量管理检查记录 动态组合lambda 表达式
                    Expression<Func<QMSCheckEntity, bool>> checkWhere =
                        p => p.CheckGroupPerson.Split(,).Contains(ortableEntity.CompanyAdtId.ToString()) &&
                             p.CheckStartDate <= commonProperty.SystemDateTime;
                    //判断是否添加开始日期的校验
                    if (orTableWorking != null)
                    {
                        Expression<Func<ThirdAdEntity, bool>> starttWhere = p => p.AdStartDate >= orTableWorking.ParenORTable.ReportDate;
                        var invokedExpr = Expression.Invoke(starttWhere, thirdWhere.Parameters);
                        thirdWhere = Expression.Lambda<Func<ThirdAdEntity, bool>>
                            (Expression.And(thirdWhere.Body, invokedExpr), thirdWhere.Parameters);

                        Expression<Func<QMSCheckEntity, bool>> startcWhere = p => p.CheckStartDate >= orTableWorking.ParenORTable.ReportDate;
                        invokedExpr = Expression.Invoke(startcWhere, checkWhere.Parameters);
                        checkWhere = Expression.Lambda<Func<QMSCheckEntity, bool>>
                            (Expression.And(checkWhere.Body, invokedExpr), checkWhere.Parameters);
                        strOrTableWorking = orTableWorking.WorkingExperience + "\n";
                    }

 

动态组合lambda 表达式

原文:http://www.cnblogs.com/yisheng/p/5581387.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!