diff --git a/.vs/SqlSugar/v14/.suo b/.vs/SqlSugar/v14/.suo index f1a2500dc..f4a8f018c 100644 Binary files a/.vs/SqlSugar/v14/.suo and b/.vs/SqlSugar/v14/.suo differ diff --git a/OrmTest/Program.cs b/OrmTest/Program.cs index 149e5e290..4e1eef834 100644 --- a/OrmTest/Program.cs +++ b/OrmTest/Program.cs @@ -23,7 +23,7 @@ namespace OrmTest { Program.id = "xx"; string x = "1"; - Expression> exp = it => it.Name==new Program().x; + Expression> exp = it => new Program() { x=it.Name }; // Expression> exp = it => it.Name; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); // var x = expContext.GetFiledName(); diff --git a/OrmTest/bin/Debug/OrmTest.exe b/OrmTest/bin/Debug/OrmTest.exe index 7870bc667..3622d3e4d 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 24b0fc41c..f821a8521 100644 Binary files a/OrmTest/bin/Debug/OrmTest.pdb and b/OrmTest/bin/Debug/OrmTest.pdb differ diff --git a/OrmTest/bin/Debug/SqlSugar.dll b/OrmTest/bin/Debug/SqlSugar.dll index b1c3cbb58..4a1a3ea0e 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 b3121bd3c..74b744a74 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 8844af28e..870ec288e 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 7870bc667..3622d3e4d 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 24b0fc41c..f821a8521 100644 Binary files a/OrmTest/obj/Debug/OrmTest.pdb and b/OrmTest/obj/Debug/OrmTest.pdb differ diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs index f6f9c7a03..d770d9efc 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs @@ -83,6 +83,10 @@ namespace SqlSugar { return new UnaryExpressionResolve(parameter); } + else if (exp is MemberInitExpression) + { + return new MemberInitExpressionResolve(parameter); + } else if (exp != null && exp.NodeType.IsIn(ExpressionType.New, ExpressionType.NewArrayBounds, ExpressionType.NewArrayInit)) { Check.ThrowNotSupportedException("ExpressionType.New、ExpressionType.NewArrayBounds and ExpressionType.NewArrayInit"); diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs new file mode 100644 index 000000000..48941db0e --- /dev/null +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; +namespace SqlSugar +{ + public class MemberInitExpressionResolve : BaseResolve + { + public MemberInitExpressionResolve(ExpressionParameter parameter) : base(parameter) + { + var expression = base.Expression as MemberInitExpression; + switch (parameter.Context.Type) + { + case ResolveExpressType.WhereSingle: + break; + case ResolveExpressType.WhereMultiple: + break; + case ResolveExpressType.SelectSingle: + break; + case ResolveExpressType.SelectMultiple: + break; + case ResolveExpressType.FieldSingle: + break; + case ResolveExpressType.FieldMultiple: + break; + default: + break; + } + } + } +} diff --git a/SqlSugar/SqlSugar.csproj b/SqlSugar/SqlSugar.csproj index 10aa855aa..289c4a73b 100644 --- a/SqlSugar/SqlSugar.csproj +++ b/SqlSugar/SqlSugar.csproj @@ -100,6 +100,7 @@ + diff --git a/SqlSugar/bin/Debug/SqlSugar.dll b/SqlSugar/bin/Debug/SqlSugar.dll index b1c3cbb58..4a1a3ea0e 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 b3121bd3c..74b744a74 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 b1c3cbb58..4a1a3ea0e 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 b3121bd3c..74b744a74 100644 Binary files a/SqlSugar/obj/Debug/SqlSugar.pdb and b/SqlSugar/obj/Debug/SqlSugar.pdb differ