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