From b9c1567cc7cd84add27f92e1b8ed5aef42e8ea9d Mon Sep 17 00:00:00 2001
From: sunkaixuan <610262374@qq.com>
Date: Sat, 15 Jul 2017 19:31:49 +0800
Subject: [PATCH] Support enum
---
Src/Asp.Net/MySqlTest/MySqlTest.csproj | 6 -----
Src/Asp.Net/SqlServerTest/Program.cs | 2 +-
.../SqlServerTest/SqlServerTest.csproj | 1 +
.../SqlServerTest/UnitTest/DataTest.cs | 5 ----
Src/Asp.Net/SqlServerTest/UnitTest/Delete.cs | 6 -----
.../SqlServerTest/UnitTest/EnumTest.cs | 25 +++++++++++++++++++
Src/Asp.Net/SqlServerTest/UnitTest/Insert.cs | 6 -----
.../SqlServerTest/UnitTest/Mapping .cs | 2 +-
.../SqlServerTest/UnitTest/Query/JoinQuery.cs | 2 +-
.../UnitTest/Query/SelectQuery.cs | 6 -----
.../UnitTest/Query/SingleQuery.cs | 7 ------
.../UnitTest/Setting/AutoClose.cs | 5 ----
.../UnitTest/Setting/MapColumn.cs | 6 +----
.../UnitTest/Setting/MapTable.cs | 5 ----
.../SqlServerTest/UnitTest/UnitTestBase.cs | 6 +++++
Src/Asp.Net/SqlServerTest/UnitTest/Update.cs | 5 ----
.../ResolveItems/BaseResolve.cs | 3 +++
17 files changed, 39 insertions(+), 59 deletions(-)
create mode 100644 Src/Asp.Net/SqlServerTest/UnitTest/EnumTest.cs
diff --git a/Src/Asp.Net/MySqlTest/MySqlTest.csproj b/Src/Asp.Net/MySqlTest/MySqlTest.csproj
index 8c56fc3ec..52e86403d 100644
--- a/Src/Asp.Net/MySqlTest/MySqlTest.csproj
+++ b/Src/Asp.Net/MySqlTest/MySqlTest.csproj
@@ -33,12 +33,6 @@
4
-
- ..\SqlSugar\Lib\MySql.Data.dll
-
-
- ..\SqlSugar\Lib\Newtonsoft.Json.dll
-
False
..\SqlServerTest\OtherDll\SyntacticSugar.dll
diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs
index f636767fe..b73a61cca 100644
--- a/Src/Asp.Net/SqlServerTest/Program.cs
+++ b/Src/Asp.Net/SqlServerTest/Program.cs
@@ -31,7 +31,7 @@ namespace OrmTest
new Update(1).Init();
new Mapping(1).Init();
new DataTest(1).Init();
-
+ new EnumTest(1).Init();
/***Performance Test***/
new SqlSugarPerformance(100).Select();
diff --git a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
index a2ded3af9..5e005b75c 100644
--- a/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
+++ b/Src/Asp.Net/SqlServerTest/SqlServerTest.csproj
@@ -66,6 +66,7 @@
+
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/DataTest.cs b/Src/Asp.Net/SqlServerTest/UnitTest/DataTest.cs
index c0d28941e..790df43b4 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/DataTest.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/DataTest.cs
@@ -68,10 +68,5 @@ namespace OrmTest.UnitTest
throw new Exception("DataTest Error");
}
}
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Delete.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Delete.cs
index c836a2f82..0243b5596 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Delete.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Delete.cs
@@ -57,11 +57,5 @@ namespace OrmTest
new SugarParameter("@id",1)
}, t6.Key, t6.Value, "Delte t6 error");
}
-
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/EnumTest.cs b/Src/Asp.Net/SqlServerTest/UnitTest/EnumTest.cs
new file mode 100644
index 000000000..68f9b53a3
--- /dev/null
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/EnumTest.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using OrmTest.Demo;
+using OrmTest.Models;
+
+namespace OrmTest.UnitTest
+{
+ public class EnumTest : UnitTestBase
+ {
+ private EnumTest() { }
+ public EnumTest(int eachCount)
+ {
+ this.Count = eachCount;
+ }
+ public void Init()
+ {
+
+ var db = GetInstance();
+ var shoolValue = SchoolEnum.HarvardUniversity;
+ var list = db.Queryable().AS("student").Where(it => it.SchoolId == shoolValue).ToList();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Insert.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Insert.cs
index bcaf4a767..bfee6b6fa 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Insert.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Insert.cs
@@ -125,12 +125,6 @@ new List() {
new SugarParameter("@Name","张三")
}, t11.Key, t11.Value, "Insert t11 error");
}
-
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
public class MyStudent {
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Mapping .cs b/Src/Asp.Net/SqlServerTest/UnitTest/Mapping .cs
index 9112e94f4..514cc02ca 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Mapping .cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Mapping .cs
@@ -37,7 +37,7 @@ namespace OrmTest.UnitTest
var x2 = GetInstance();
}
- public SqlSugarClient GetInstance()
+ public new SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() {InitKeyType=InitKeyType.Attribute, ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
return db;
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Query/JoinQuery.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Query/JoinQuery.cs
index f13945a94..0d05bbf4f 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Query/JoinQuery.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Query/JoinQuery.cs
@@ -81,7 +81,7 @@ namespace OrmTest.UnitTest
}
- public SqlSugarClient GetInstance()
+ public new SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
db.Ado.IsEnableLogEvent = true;
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Query/SelectQuery.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Query/SelectQuery.cs
index be6907b56..b8bf8f2d7 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Query/SelectQuery.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Query/SelectQuery.cs
@@ -84,11 +84,5 @@ namespace OrmTest.UnitTest
}
}
-
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Query/SingleQuery.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Query/SingleQuery.cs
index 94a598707..57763b1e8 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Query/SingleQuery.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Query/SingleQuery.cs
@@ -108,12 +108,5 @@ namespace OrmTest.UnitTest
new SugarParameter("@InPara0",1) },t9.Key,t9.Value, "single t9 error");
}
}
-
-
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/AutoClose.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/AutoClose.cs
index 49d43a396..338a29184 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/AutoClose.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/AutoClose.cs
@@ -23,10 +23,5 @@ namespace OrmTest.UnitTest
var x = db.Queryable().ToList();
}
}
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapColumn.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapColumn.cs
index 5b3301226..341a5e3b4 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapColumn.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapColumn.cs
@@ -9,10 +9,6 @@ namespace OrmTest.UnitTest
{
public class MapColumn : UnitTestBase
{
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
- return db;
- }
+
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapTable.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapTable.cs
index f5b2b11e7..84d35bc48 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapTable.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Setting/MapTable.cs
@@ -19,10 +19,5 @@ namespace OrmTest.UnitTest
var x = db.Queryable().ToList();
}
}
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/UnitTestBase.cs b/Src/Asp.Net/SqlServerTest/UnitTest/UnitTestBase.cs
index 286075238..1aeea8b30 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/UnitTestBase.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/UnitTestBase.cs
@@ -45,5 +45,11 @@ namespace OrmTest.UnitTest
}
}
}
+
+ public SqlSugarClient GetInstance()
+ {
+ SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
+ return db;
+ }
}
}
\ No newline at end of file
diff --git a/Src/Asp.Net/SqlServerTest/UnitTest/Update.cs b/Src/Asp.Net/SqlServerTest/UnitTest/Update.cs
index 3d397e984..e96dd3ee9 100644
--- a/Src/Asp.Net/SqlServerTest/UnitTest/Update.cs
+++ b/Src/Asp.Net/SqlServerTest/UnitTest/Update.cs
@@ -145,10 +145,5 @@ namespace OrmTest.UnitTest
);
}
- public SqlSugarClient GetInstance()
- {
- SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true });
- return db;
- }
}
}
diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
index b61526a3c..ea4b085a2 100644
--- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
+++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve.cs
@@ -174,6 +174,9 @@ namespace SqlSugar
{
var appendValue = this.Context.SqlParameterKeyWord + ExpressionConst.Const + Context.ParameterIndex;
Context.ParameterIndex++;
+ if (value != null && value.GetType().IsEnum) {
+ value = Convert.ToInt64(value);
+ }
this.Context.Parameters.Add(new SugarParameter(appendValue, value));
appendValue = string.Format(" {0} ", appendValue);
if (isLeft == true)