- 调整 FreeSql.Provider.SqlServer 引用Microsoft.Data.SqlClient #391;

This commit is contained in:
28810
2020-07-27 19:39:12 +08:00
parent e80f179663
commit 072a8b7cfa
10 changed files with 40 additions and 10 deletions

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net451;net45;net40</TargetFrameworks>
<TargetFrameworks>netstandard2.0;net461;net40</TargetFrameworks>
<Version>1.7.0-preview0722</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>ncc;YeXiangQin</Authors>
@ -25,14 +25,17 @@
<None Include="../../logo.png" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net451'">
<PackageReference Include="System.Data.SqlClient" Version="4.8.1" />
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net461'">
<PackageReference Include="Microsoft.Data.SqlClient" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\FreeSql\FreeSql.csproj" />
</ItemGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net461'">
<DefineConstants>microsoft</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
<DefineConstants>net40</DefineConstants>
</PropertyGroup>

View File

@ -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();
}

View File

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

View File

@ -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

View File

@ -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<SqlParameter>(sql, obj, "@", (name, type, value) =>
Utils.GetDbParamtersByObject<DbParameter>(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 };