From 072a8b7cfaad91096bc5b76de0fa4474afacaa17 Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Mon, 27 Jul 2020 19:39:12 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E8=B0=83=E6=95=B4=20FreeSql.Provider.SqlSe?=
=?UTF-8?q?rver=20=E5=BC=95=E7=94=A8Microsoft.Data.SqlClient=20#391?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj | 1 +
.../SqlServer/SqlServerAdo/SqlServerAdoTest.cs | 2 +-
FreeSql.Tests/FreeSql.Tests/UnitTest2.cs | 2 +-
FreeSql.Tests/FreeSql.Tests/g.cs | 1 +
.../FreeSql.Provider.PostgreSQL.csproj | 4 ++--
.../FreeSql.Provider.SqlServer.csproj | 11 +++++++----
.../SqlServerAdo/SqlServerAdo.cs | 15 ++++++++++++++-
.../SqlServerAdo/SqlServerConnectionPool.cs | 4 ++++
.../SqlServerExtensions.cs | 4 ++++
.../FreeSql.Provider.SqlServer/SqlServerUtils.cs | 6 +++++-
10 files changed, 40 insertions(+), 10 deletions(-)
diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
index 9e16a021..926e775f 100644
--- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
+++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.csproj
@@ -17,6 +17,7 @@
+
diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs
index 3845a2d0..7dc5c181 100644
--- a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs
@@ -79,7 +79,7 @@ namespace FreeSql.Tests.SqlServer
var t4 = g.sqlserver.Ado.Query<(int, int, string, string DateTime)>("select * from xxx");
var t5 = g.sqlserver.Ado.Query(System.Data.CommandType.Text, "select * from xxx where Id = @Id",
- new System.Data.SqlClient.SqlParameter("Id", 1));
+ new Microsoft.Data.SqlClient.SqlParameter("Id", 1));
}
[Fact]
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs
index 3d0d109b..b93400ef 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs
@@ -11,7 +11,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.Threading;
-using System.Data.SqlClient;
+using Microsoft.Data.SqlClient;
using kwlib;
using System.Text;
diff --git a/FreeSql.Tests/FreeSql.Tests/g.cs b/FreeSql.Tests/FreeSql.Tests/g.cs
index 1fc3ae7d..0e99a61a 100644
--- a/FreeSql.Tests/FreeSql.Tests/g.cs
+++ b/FreeSql.Tests/FreeSql.Tests/g.cs
@@ -41,6 +41,7 @@ public class g
static Lazy sqlserverLazy = new Lazy(() => new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3")
+ //.UseConnectionFactory(FreeSql.DataType.SqlServer, () => new Microsoft.Data.SqlClient.SqlConnection("Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;"))
//.UseConnectionFactory(FreeSql.DataType.SqlServer, () => new System.Data.SqlClient.SqlConnection("Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;"))
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=192.168.164.129;uid=sa;pwd=123456;Initial Catalog=ds_shop;Pooling=true;Max Pool Size=3")
//.UseConnectionFactory(FreeSql.DataType.SqlServer, () => new System.Data.SqlClient.SqlConnection("Data Source=192.168.164.129;uid=sa;pwd=123456;Initial Catalog=ds_shop;Pooling=true;"))
diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
index eb160d58..18cc1ba4 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
+++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj
@@ -30,8 +30,8 @@
-
-
+
+
diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
index b0364443..d0ee8a19 100644
--- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
+++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj
@@ -1,7 +1,7 @@
- netstandard2.0;net451;net45;net40
+ netstandard2.0;net461;net40
1.7.0-preview0722
true
ncc;YeXiangQin
@@ -25,14 +25,17 @@
-
-
+
+
-
+
+
+ microsoft
+
net40
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs
index 577eb94a..f7b1be7d 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs
@@ -4,7 +4,11 @@ using FreeSql.Internal.ObjectPool;
using System;
using System.Collections;
using System.Data.Common;
+#if microsoft
+using Microsoft.Data.SqlClient;
+#else
using System.Data.SqlClient;
+#endif
using System.Linq;
using System.Text;
using System.Threading;
@@ -19,7 +23,9 @@ namespace FreeSql.SqlServer
base._util = util;
if (connectionFactory != null)
{
- MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory);
+ var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Sqlite, connectionFactory);
+ MasterPool = pool;
+ _CreateCommandConnection = pool.TestConnection;
return;
}
if (!string.IsNullOrEmpty(masterConnectionString))
@@ -76,8 +82,15 @@ namespace FreeSql.SqlServer
return string.Concat("'", param.ToString().Replace("'", "''"), "'");
}
+ DbConnection _CreateCommandConnection;
protected override DbCommand CreateCommand()
{
+ if (_CreateCommandConnection != null)
+ {
+ var cmd = _CreateCommandConnection.CreateCommand();
+ cmd.Connection = null;
+ return cmd;
+ }
return new SqlCommand();
}
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerConnectionPool.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerConnectionPool.cs
index 6e543e31..4ab167c7 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerConnectionPool.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerConnectionPool.cs
@@ -4,7 +4,11 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
+#if microsoft
+using Microsoft.Data.SqlClient;
+#else
using System.Data.SqlClient;
+#endif
using System.Text.RegularExpressions;
using System.Threading.Tasks;
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs
index 5fc21290..5cc172ad 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerExtensions.cs
@@ -3,7 +3,11 @@ using FreeSql.Internal.Model;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
+#if microsoft
+using Microsoft.Data.SqlClient;
+#else
using System.Data.SqlClient;
+#endif
using System.Threading.Tasks;
public static partial class FreeSqlSqlServerGlobalExtensions
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
index f05d3a8c..be0468f3 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
@@ -4,7 +4,11 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
+#if microsoft
+using Microsoft.Data.SqlClient;
+#else
using System.Data.SqlClient;
+#endif
using System.Globalization;
using System.Text;
@@ -44,7 +48,7 @@ namespace FreeSql.SqlServer
}
public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
- Utils.GetDbParamtersByObject(sql, obj, "@", (name, type, value) =>
+ Utils.GetDbParamtersByObject(sql, obj, "@", (name, type, value) =>
{
if (value?.Equals(DateTime.MinValue) == true) value = new DateTime(1970, 1, 1);
var ret = new SqlParameter { ParameterName = $"@{name}", Value = value };