.net lambda表达式合并( 二 )

使用
string connectString = "Data Source=.;Initial Catalog=RportTest;Integrated Security=True";var optionsBuilder = new DbContextOptionsBuilder<TestContext>();optionsBuilder.UseSqlServer(connectString);using (TestContext ctx = new TestContext(optionsBuilder.Options)){Expression<Func<ReportData, bool>> epxr1 = report => report.ID == 2023;Expression<Func<ReportData, bool>> epxr2 = report => report.Name == "test1";var epxr3 = new List<Expression<Func<ReportData, bool>>>() { epxr1, epxr2 };var andPredicate = epxr3.AndAlso();var andQuery = ctx.ReportData.Where(andPredicate);string andSql = andQuery.ToQueryString();var andResult = andQuery.ToList();var orPredicate = epxr3.OrElse();var orQuery = ctx.ReportData.Where(orPredicate);string orSql = orQuery.ToQueryString();var orResult = orQuery.ToList();}

推荐阅读