diff --git a/.vs/SqlSugar/v14/.suo b/.vs/SqlSugar/v14/.suo index 79c08f819..3c2f0f99c 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 66fbcfebd..8d077e4a2 100644 --- a/OrmTest/Program.cs +++ b/OrmTest/Program.cs @@ -16,10 +16,11 @@ namespace OrmTest { static void Main(string[] args) { - Expression> exp = it => it.Name!="a"; + string id = "1"; + Expression> exp = it => it.Name!=id; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.Single); // var x = expContext.GetFiledName(); - var xx = expContext.ToString(); + var xx = expContext.ToSqlString(); var b = DateTime.Now; diff --git a/OrmTest/bin/Debug/OrmTest.exe b/OrmTest/bin/Debug/OrmTest.exe index eecd622d5..cf072f763 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 08e3ca7f3..94672ade8 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 e792a371e..35a390a73 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 0ed66cf06..ded381246 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 1c365fc61..652efce71 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 eecd622d5..cf072f763 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 08e3ca7f3..94672ade8 100644 Binary files a/OrmTest/obj/Debug/OrmTest.pdb and b/OrmTest/obj/Debug/OrmTest.pdb differ diff --git a/SqlSugar/ExpressionsToSql/ExpressionContext.cs b/SqlSugar/ExpressionsToSql/ExpressionContext.cs index 4e0763cc6..5d34cf765 100644 --- a/SqlSugar/ExpressionsToSql/ExpressionContext.cs +++ b/SqlSugar/ExpressionsToSql/ExpressionContext.cs @@ -11,6 +11,7 @@ namespace SqlSugar { public ResolveExpressType Type { get; set; } public Expression Expression { get; set; } + public StringBuilder SqlWhere { get; set; } public virtual string SqlParameterKeyWord { get @@ -30,12 +31,12 @@ namespace SqlSugar this.Expression = expression; } - public override string ToString() + public string ToSqlString() { BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this }); resolve.Start(); - if (resolve.SqlWhere == null) return string.Empty; - return resolve.SqlWhere.ToString(); + if (this.SqlWhere == null) return string.Empty; + return this.SqlWhere.ToString(); } public List Parameters diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs index 98e75000b..4c6549b17 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs @@ -10,7 +10,6 @@ namespace SqlSugar protected Expression Expression { get; set; } protected Expression BaseExpression { get; set; } public ExpressionContext Context { get; set; } - public StringBuilder SqlWhere { get; set; } public bool? IsLeft { get; set; } public int ContentIndex { get { return this.Context.Index; } } public int Index { get; set; } diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs index 6018e4013..cba5c58d3 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/BinaryExpressionResolve.cs @@ -28,21 +28,21 @@ namespace SqlSugar string leftString = GetLeftString(parameter); string rightString = GetRightString(parameter); string binarySql =string.Format(ExpressionConst.BinaryFormatString,leftString,operatorValue,rightString); - string sqlWhereString = base.SqlWhere.ObjToString(); - if (base.SqlWhere == null) { - base.SqlWhere = new StringBuilder(); + string sqlWhereString = base.Context.SqlWhere.ObjToString(); + if (base.Context.SqlWhere == null) { + base.Context.SqlWhere = new StringBuilder(); } if (sqlWhereString.Contains(ExpressionConst.Format0)) { - base.SqlWhere.Replace(ExpressionConst.Format0, sqlWhereString); + base.Context.SqlWhere.Replace(ExpressionConst.Format0, binarySql); } else { - base.SqlWhere.Append(binarySql); + base.Context.SqlWhere.Append(binarySql); } if (sqlWhereString.Contains(ExpressionConst.Format1)) { - base.SqlWhere.Replace(ExpressionConst.Format1, ExpressionConst.Format0); + base.Context.SqlWhere.Replace(ExpressionConst.Format1, ExpressionConst.Format0); } } diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs index 11d68a679..306cf6701 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/ConstantExpressionResolve.cs @@ -23,10 +23,10 @@ namespace SqlSugar ExpressionType = expression.GetType() })); } - if (isLeft == null && base.SqlWhere == null) + if (isLeft == null && base.Context.SqlWhere == null) { - base.SqlWhere = new StringBuilder(); - base.SqlWhere.Append(value); + base.Context.SqlWhere = new StringBuilder(); + base.Context.SqlWhere.Append(value); } } diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/LambdaExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/LambdaExpressionResolve.cs index b0e4436e2..0e6a7d4c3 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/LambdaExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/LambdaExpressionResolve.cs @@ -14,7 +14,7 @@ namespace SqlSugar if (expression.NodeType == ExpressionType.MemberAccess) { string appendString = "(" +((MemberExpression)expression).Member.Name + "=1)"; - base.SqlWhere.Append(appendString); + base.Context.SqlWhere.Append(appendString); } else { diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs index f4e0c095d..70ea27a9a 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MemberExpressionResolve.cs @@ -21,10 +21,10 @@ namespace SqlSugar Value = fieldName, ExpressionType = expression.GetType() })); - if (isLeft == null && base.SqlWhere == null) + if (isLeft == null && base.Context.SqlWhere == null) { - base.SqlWhere = new StringBuilder(); - base.SqlWhere.Append(fieldName); + base.Context.SqlWhere = new StringBuilder(); + base.Context.SqlWhere.Append(fieldName); } } } diff --git a/SqlSugar/bin/Debug/SqlSugar.dll b/SqlSugar/bin/Debug/SqlSugar.dll index e792a371e..35a390a73 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 0ed66cf06..ded381246 100644 Binary files a/SqlSugar/bin/Debug/SqlSugar.pdb and b/SqlSugar/bin/Debug/SqlSugar.pdb differ diff --git a/SqlSugar/obj/Debug/SqlSugar.csproj.FileListAbsolute.txt b/SqlSugar/obj/Debug/SqlSugar.csproj.FileListAbsolute.txt index 9a47395a4..c7414cb31 100644 --- a/SqlSugar/obj/Debug/SqlSugar.csproj.FileListAbsolute.txt +++ b/SqlSugar/obj/Debug/SqlSugar.csproj.FileListAbsolute.txt @@ -3,4 +3,3 @@ F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\bin\Debug\SqlSugar.pdb F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\bin\Debug\Newtonsoft.Json.dll F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.dll F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.pdb -F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.csprojResolveAssemblyReference.cache diff --git a/SqlSugar/obj/Debug/SqlSugar.csprojResolveAssemblyReference.cache b/SqlSugar/obj/Debug/SqlSugar.csprojResolveAssemblyReference.cache deleted file mode 100644 index cf78a08b2..000000000 Binary files a/SqlSugar/obj/Debug/SqlSugar.csprojResolveAssemblyReference.cache and /dev/null differ diff --git a/SqlSugar/obj/Debug/SqlSugar.dll b/SqlSugar/obj/Debug/SqlSugar.dll index e792a371e..35a390a73 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 0ed66cf06..ded381246 100644 Binary files a/SqlSugar/obj/Debug/SqlSugar.pdb and b/SqlSugar/obj/Debug/SqlSugar.pdb differ