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 };