diff --git a/.vs/SqlSugar/v14/.suo b/.vs/SqlSugar/v14/.suo index 65aa6127a..e058a0f5a 100644 Binary files a/.vs/SqlSugar/v14/.suo and b/.vs/SqlSugar/v14/.suo differ diff --git a/OrmTest/bin/Debug/Newtonsoft.Json.dll b/OrmTest/bin/Debug/Newtonsoft.Json.dll deleted file mode 100644 index 20dae627a..000000000 Binary files a/OrmTest/bin/Debug/Newtonsoft.Json.dll and /dev/null differ diff --git a/OrmTest/bin/Debug/OrmTest.exe b/OrmTest/bin/Debug/OrmTest.exe deleted file mode 100644 index dc268da73..000000000 Binary files a/OrmTest/bin/Debug/OrmTest.exe and /dev/null differ diff --git a/OrmTest/bin/Debug/OrmTest.exe.config b/OrmTest/bin/Debug/OrmTest.exe.config deleted file mode 100644 index 88fa4027b..000000000 --- a/OrmTest/bin/Debug/OrmTest.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/OrmTest/bin/Debug/OrmTest.pdb b/OrmTest/bin/Debug/OrmTest.pdb deleted file mode 100644 index e41d45509..000000000 Binary files a/OrmTest/bin/Debug/OrmTest.pdb and /dev/null differ diff --git a/OrmTest/bin/Debug/SqlSugar.dll b/OrmTest/bin/Debug/SqlSugar.dll deleted file mode 100644 index 22c45626c..000000000 Binary files a/OrmTest/bin/Debug/SqlSugar.dll and /dev/null differ diff --git a/OrmTest/bin/Debug/SqlSugar.pdb b/OrmTest/bin/Debug/SqlSugar.pdb deleted file mode 100644 index 3f8814e26..000000000 Binary files a/OrmTest/bin/Debug/SqlSugar.pdb and /dev/null differ diff --git a/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache b/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache deleted file mode 100644 index 09bc733ad..000000000 Binary files a/OrmTest/obj/Debug/OrmTest.csprojResolveAssemblyReference.cache and /dev/null differ diff --git a/OrmTest/obj/Debug/OrmTest.exe b/OrmTest/obj/Debug/OrmTest.exe deleted file mode 100644 index dc268da73..000000000 Binary files a/OrmTest/obj/Debug/OrmTest.exe and /dev/null differ diff --git a/OrmTest/obj/Debug/OrmTest.pdb b/OrmTest/obj/Debug/OrmTest.pdb deleted file mode 100644 index e41d45509..000000000 Binary files a/OrmTest/obj/Debug/OrmTest.pdb and /dev/null differ diff --git a/SqlSugar/ExpressionsToSql/Common/ExpResolveAccessory.cs b/SqlSugar/ExpressionsToSql/Common/ExpResolveAccessory.cs index 6cba879c9..d7fe5a124 100644 --- a/SqlSugar/ExpressionsToSql/Common/ExpResolveAccessory.cs +++ b/SqlSugar/ExpressionsToSql/Common/ExpResolveAccessory.cs @@ -8,6 +8,7 @@ namespace SqlSugar { public class ExpResolveAccessory { - protected List _Parameters { get; set; } + protected List _Parameters; + protected ExpressionResult _Result; } } diff --git a/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs new file mode 100644 index 000000000..218f0b949 --- /dev/null +++ b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +namespace SqlSugar +{ + public class ExpressionResult + { + #region constructor + private ExpressionResult() + { + } + public ExpressionResult(ResolveExpressType resolveExpressType) + { + this._ResolveExpressType = resolveExpressType; + } + #endregion + + #region Fields + private ResolveExpressType _ResolveExpressType; + private StringBuilder _Result; + #endregion + + #region properties + private StringBuilder Result + { + get + { + if (_Result == null) _Result = new StringBuilder(); + return _Result; + } + + set + { + _Result = value; + } + } + #endregion + + #region functions + public string[] GetResultArray() + { + if (this._Result == null) return null; + return this.Result.ToString().Split(','); + } + + public string GetResultString() + { + if (this._Result == null) return null; + return this.Result.ToString(); + } + + public void Append(string parameter) + { + switch (this._ResolveExpressType) + { + 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; + } + this.Result.Append(parameter); + } + + public void AppendFormat(string parameter, params object[] orgs) + { + this.Result.AppendFormat(parameter, orgs); + } + + public void Replace(string parameter, string newValue) + { + this.Result.Replace(parameter, newValue); + } + #endregion + } +} diff --git a/SqlSugar/ExpressionsToSql/ExpressionContext.cs b/SqlSugar/ExpressionsToSql/ExpressionContext.cs index d9f5598b5..8b5c2b246 100644 --- a/SqlSugar/ExpressionsToSql/ExpressionContext.cs +++ b/SqlSugar/ExpressionsToSql/ExpressionContext.cs @@ -10,7 +10,8 @@ namespace SqlSugar public class ExpressionContext : ExpResolveAccessory { #region constructor - private ExpressionContext() { + private ExpressionContext() + { } public ExpressionContext(Expression expression, ResolveExpressType resolveType) @@ -25,13 +26,20 @@ namespace SqlSugar public int Index { get; set; } public ResolveExpressType ResolveType { get; set; } public Expression Expression { get; set; } - public StringBuilder ResultString { get; set; } public object ResultObj { get; set; } - public bool IsWhereSingle + public ExpressionResult Result { get { - return this.ResolveType == ResolveExpressType.WhereSingle; + if (base._Result == null) + { + this.Result = new ExpressionResult(this.ResolveType); + } + return base._Result; + } + set + { + this._Result = value; } } public List Parameters @@ -59,21 +67,6 @@ namespace SqlSugar { return name; } - - public virtual string ToResultString() - { - BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this }); - resolve.Start(); - if (this.ResultString == null) return string.Empty; - return this.ResultString.ToString(); - } - - public virtual object GetResultObj() - { - BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this }); - resolve.Start(); - return this.ResultObj; - } #endregion } } diff --git a/SqlSugar/SqlSugar.csproj b/SqlSugar/SqlSugar.csproj index a45d2fa22..b867ea2e2 100644 --- a/SqlSugar/SqlSugar.csproj +++ b/SqlSugar/SqlSugar.csproj @@ -98,6 +98,7 @@ + diff --git a/SqlSugar/bin/Debug/Newtonsoft.Json.dll b/SqlSugar/bin/Debug/Newtonsoft.Json.dll deleted file mode 100644 index 20dae627a..000000000 Binary files a/SqlSugar/bin/Debug/Newtonsoft.Json.dll and /dev/null differ diff --git a/SqlSugar/bin/Debug/SqlSugar.dll b/SqlSugar/bin/Debug/SqlSugar.dll deleted file mode 100644 index 22c45626c..000000000 Binary files a/SqlSugar/bin/Debug/SqlSugar.dll and /dev/null differ diff --git a/SqlSugar/bin/Debug/SqlSugar.pdb b/SqlSugar/bin/Debug/SqlSugar.pdb deleted file mode 100644 index 3f8814e26..000000000 Binary files a/SqlSugar/bin/Debug/SqlSugar.pdb and /dev/null differ diff --git a/SqlSugar/obj/Debug/SqlSugar.dll b/SqlSugar/obj/Debug/SqlSugar.dll deleted file mode 100644 index 22c45626c..000000000 Binary files a/SqlSugar/obj/Debug/SqlSugar.dll and /dev/null differ diff --git a/SqlSugar/obj/Debug/SqlSugar.pdb b/SqlSugar/obj/Debug/SqlSugar.pdb deleted file mode 100644 index 3f8814e26..000000000 Binary files a/SqlSugar/obj/Debug/SqlSugar.pdb and /dev/null differ