diff --git a/.vs/SqlSugar/v14/.suo b/.vs/SqlSugar/v14/.suo index 2c9ff357a..77cd4487a 100644 Binary files a/.vs/SqlSugar/v14/.suo and b/.vs/SqlSugar/v14/.suo differ diff --git a/OrmTest/bin/Debug/OrmTest.exe b/OrmTest/bin/Debug/OrmTest.exe index c1fb47574..847d6b351 100644 Binary files a/OrmTest/bin/Debug/OrmTest.exe and b/OrmTest/bin/Debug/OrmTest.exe differ diff --git a/OrmTest/bin/Debug/OrmTest.pdb b/OrmTest/bin/Debug/OrmTest.pdb index 20cf3b708..d51e2f7ab 100644 Binary files a/OrmTest/bin/Debug/OrmTest.pdb and b/OrmTest/bin/Debug/OrmTest.pdb differ diff --git a/OrmTest/bin/Debug/OrmTest.vshost.exe.manifest b/OrmTest/bin/Debug/OrmTest.vshost.exe.manifest new file mode 100644 index 000000000..061c9ca95 --- /dev/null +++ b/OrmTest/bin/Debug/OrmTest.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/OrmTest/bin/Debug/SqlSugar.dll b/OrmTest/bin/Debug/SqlSugar.dll index abce073a3..ab197d825 100644 Binary files a/OrmTest/bin/Debug/SqlSugar.dll and b/OrmTest/bin/Debug/SqlSugar.dll differ diff --git a/OrmTest/bin/Debug/SqlSugar.pdb b/OrmTest/bin/Debug/SqlSugar.pdb index 1c0807eed..6cdbb95ca 100644 Binary files a/OrmTest/bin/Debug/SqlSugar.pdb and b/OrmTest/bin/Debug/SqlSugar.pdb differ diff --git a/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache b/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache index 2aa82c040..2693b6783 100644 Binary files a/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache and b/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache differ diff --git a/OrmTest/obj/Debug/OrmTest.exe b/OrmTest/obj/Debug/OrmTest.exe index c1fb47574..847d6b351 100644 Binary files a/OrmTest/obj/Debug/OrmTest.exe and b/OrmTest/obj/Debug/OrmTest.exe differ diff --git a/OrmTest/obj/Debug/OrmTest.pdb b/OrmTest/obj/Debug/OrmTest.pdb index 20cf3b708..d51e2f7ab 100644 Binary files a/OrmTest/obj/Debug/OrmTest.pdb and b/OrmTest/obj/Debug/OrmTest.pdb differ diff --git a/SqlSugar/Expressions/ExpItems/BaseResolve.cs b/SqlSugar/Expressions/ExpItems/BaseResolve.cs index bb24a2252..2d776b279 100644 --- a/SqlSugar/Expressions/ExpItems/BaseResolve.cs +++ b/SqlSugar/Expressions/ExpItems/BaseResolve.cs @@ -10,6 +10,8 @@ namespace SqlSugar protected Expression Expression { get; set; } public ExpressionContext Context { get; set; } public string SqlWhere { get; set; } + public bool IsFinished { get; set; } + private BaseResolve() { @@ -21,6 +23,7 @@ namespace SqlSugar public BaseResolve Start() { + this.IsFinished = false; Expression exp = this.Expression; if (exp is LambdaExpression) { @@ -60,5 +63,12 @@ namespace SqlSugar } return null; } + public void Continue() + { + if (!IsFinished) + { + this.Start(); + } + } } } diff --git a/SqlSugar/Expressions/ExpItems/BinaryExpressionResolve.cs b/SqlSugar/Expressions/ExpItems/BinaryExpressionResolve.cs index 75302f4a8..d2ed5c1e0 100644 --- a/SqlSugar/Expressions/ExpItems/BinaryExpressionResolve.cs +++ b/SqlSugar/Expressions/ExpItems/BinaryExpressionResolve.cs @@ -5,11 +5,11 @@ using System.Linq.Expressions; using System.Text; namespace SqlSugar { - public class BinaryExpressionResolve:BaseResolve + public class BinaryExpressionResolve : BaseResolve { public BinaryExpressionResolve(Expression exp) : base(exp) { - + base.Continue(); } } } diff --git a/SqlSugar/Expressions/ExpItems/LambdaExpressionResolve.cs b/SqlSugar/Expressions/ExpItems/LambdaExpressionResolve.cs index cca166e25..c226c5354 100644 --- a/SqlSugar/Expressions/ExpItems/LambdaExpressionResolve.cs +++ b/SqlSugar/Expressions/ExpItems/LambdaExpressionResolve.cs @@ -5,11 +5,19 @@ using System.Linq.Expressions; using System.Text; namespace SqlSugar { - public class LambdaExpressionResolve: BaseResolve + public class LambdaExpressionResolve : BaseResolve { public LambdaExpressionResolve(Expression exp) : base(exp) { - + LambdaExpression lambda = exp as LambdaExpression; + var expression = lambda.Body; + if (expression.NodeType == ExpressionType.MemberAccess) + { + base.SqlWhere = "(" + ((MemberExpression)expression).Member.Name + "=1)"; + base.IsFinished = true; + } + base.Expression = expression; + base.Continue(); } } } diff --git a/SqlSugar/bin/Debug/SqlSugar.dll b/SqlSugar/bin/Debug/SqlSugar.dll index abce073a3..ab197d825 100644 Binary files a/SqlSugar/bin/Debug/SqlSugar.dll and b/SqlSugar/bin/Debug/SqlSugar.dll differ diff --git a/SqlSugar/bin/Debug/SqlSugar.pdb b/SqlSugar/bin/Debug/SqlSugar.pdb index 1c0807eed..6cdbb95ca 100644 Binary files a/SqlSugar/bin/Debug/SqlSugar.pdb and b/SqlSugar/bin/Debug/SqlSugar.pdb differ diff --git a/SqlSugar/obj/Debug/SqlSugar.dll b/SqlSugar/obj/Debug/SqlSugar.dll index abce073a3..ab197d825 100644 Binary files a/SqlSugar/obj/Debug/SqlSugar.dll and b/SqlSugar/obj/Debug/SqlSugar.dll differ diff --git a/SqlSugar/obj/Debug/SqlSugar.pdb b/SqlSugar/obj/Debug/SqlSugar.pdb index 1c0807eed..6cdbb95ca 100644 Binary files a/SqlSugar/obj/Debug/SqlSugar.pdb and b/SqlSugar/obj/Debug/SqlSugar.pdb differ