From 7cc33740544b6d97d208cc048939837967d26cd5 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Tue, 9 Jun 2020 19:16:39 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20Expression=20Or/And=20?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E6=96=B9=E6=B3=95=E5=9C=A8=E5=A4=9A=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD=E5=8F=AF=E8=83=BD=E5=AD=98=E5=9C=A8=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.DbContext/FreeSql.DbContext.xml | 16 ---------------- .../Extensions/LambadaExpressionExtensions.cs | 6 +++--- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 4854f49c..132d875e 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -125,13 +125,6 @@ 清空状态数据 - - - 根据 lambda 条件删除数据 - - - - 添加 @@ -486,14 +479,5 @@ - - - 批量注入 Repository,可以参考代码自行调整 - - - - - - diff --git a/FreeSql/Extensions/LambadaExpressionExtensions.cs b/FreeSql/Extensions/LambadaExpressionExtensions.cs index 1b05dbf1..000a6d72 100644 --- a/FreeSql/Extensions/LambadaExpressionExtensions.cs +++ b/FreeSql/Extensions/LambadaExpressionExtensions.cs @@ -20,9 +20,9 @@ namespace System.Linq.Expressions if (exp1 == null) return exp2; if (exp2 == null) return exp1; - var newParameters = exp1.Parameters.Select((a, b) => Expression.Parameter(a.Type, $"new{b}")).ToArray(); + var newParameters = exp1.Parameters.Select((a, b) => Expression.Parameter(a.Type, a.Name /*$"new{b}"*/)).ToArray(); - var left = new NewExpressionVisitor(newParameters, exp2.Parameters.ToArray()).Replace(exp1.Body); + var left = new NewExpressionVisitor(newParameters, exp1.Parameters.ToArray()).Replace(exp1.Body); var right = new NewExpressionVisitor(newParameters, exp2.Parameters.ToArray()).Replace(exp2.Body); var body = isAndAlso ? Expression.AndAlso(left, right) : Expression.OrElse(left, right); return Expression.Lambda(exp1.Type, body, newParameters); @@ -32,7 +32,7 @@ namespace System.Linq.Expressions if (condition == false) return exp; if (exp == null) return null; - var newParameters = exp.Parameters.Select((a, b) => Expression.Parameter(a.Type, $"new{b}")).ToArray(); + var newParameters = exp.Parameters.Select((a, b) => Expression.Parameter(a.Type, a.Name /*$"new{b}"*/)).ToArray(); var body = Expression.Not(exp.Body); return Expression.Lambda(exp.Type, body, newParameters); }