From 33f11a2066370b26e819d905fa4238a6fb41b338 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 16 Jan 2023 19:16:56 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=20IAdo.ConnectionString?= =?UTF-8?q?=20=E4=BD=BF=E7=94=A8=20UseConnectionFactory=20=E6=97=B6?= =?UTF-8?q?=E5=80=BC=E4=B8=BA=20NULL=20=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.DbContext/FreeSql.DbContext.xml | 9 --------- .../FreeSql.Tests/Dameng/DamengAdo/DamengAdoTest.cs | 10 +++++++++- .../Firebird/ExtensionsAdo/FirebirdAdoTest.cs | 10 +++++++++- .../MsAccess/MsAccessAdo/MsAccessAdoTest.cs | 11 ++++++++++- .../FreeSql.Tests/MySql/MySqlAdo/MySqlAdoTest.cs | 11 ++++++++++- .../FreeSql.Tests/Oracle/OracleAdo/OracleAdoTest.cs | 9 +++++++++ .../PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs | 11 ++++++++++- .../SqlServer/SqlServerAdo/SqlServerAdoTest.cs | 12 ++++++++++-- .../FreeSql.Tests/Sqlite/SqliteAdo/SqliteAdoTest.cs | 11 ++++++++++- .../ClickHouseAdo/ClickHouseAdo.cs | 4 +++- .../FreeSql.Provider.Custom/CustomAdo/CustomAdo.cs | 1 + .../MySql/CustomMySqlAdo/CustomMySqlAdo.cs | 1 + .../Oracle/CustomOracleAdo/CustomOracleAdo.cs | 1 + .../CustomPostgreSQLAdo/CustomPostgreSQLAdo.cs | 1 + .../CustomSqlServerAdo/CustomSqlServerAdo.cs | 1 + .../FreeSql.Provider.Dameng/DamengAdo/DamengAdo.cs | 4 +++- .../FirebirdAdo/FirebirdAdo.cs | 1 + .../FreeSql.Provider.GBase/GBaseAdo/GBaseAdo.cs | 1 + .../KingbaseESAdo/KingbaseESAdo.cs | 4 +++- .../MsAccessAdo/MsAccessAdo.cs | 4 +++- .../FreeSql.Provider.MySql/MySqlAdo/MySqlAdo.cs | 4 +++- .../Dameng/OdbcDamengAdo/OdbcDamengAdo.cs | 4 +++- .../FreeSql.Provider.Odbc/Default/OdbcAdo/OdbcAdo.cs | 4 +++- .../OdbcKingbaseESAdo/OdbcKingbaseESAdo.cs | 4 +++- .../MySql/OdbcMySqlAdo/OdbcMySqlAdo.cs | 4 +++- .../Oracle/OdbcOracleAdo/OdbcOracleAdo.cs | 4 +++- .../OdbcPostgreSQLAdo/OdbcPostgreSQLAdo.cs | 4 +++- .../SqlServer/OdbcSqlServerAdo/OdbcSqlServerAdo.cs | 4 +++- .../FreeSql.Provider.Oracle/OracleAdo/OracleAdo.cs | 4 +++- .../PostgreSQLAdo/PostgreSQLAdo.cs | 4 +++- .../ShenTongAdo/ShenTongAdo.cs | 4 +++- .../SqlServerAdo/SqlServerAdo.cs | 1 + .../FreeSql.Provider.Sqlite/SqliteAdo/SqliteAdo.cs | 1 + 33 files changed, 131 insertions(+), 32 deletions(-) diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 26522f10..537315e2 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -800,14 +800,5 @@ - - - 批量注入 Repository,可以参考代码自行调整 - - - - - - diff --git a/FreeSql.Tests/FreeSql.Tests/Dameng/DamengAdo/DamengAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/Dameng/DamengAdo/DamengAdoTest.cs index 5bf7503f..2d91237b 100644 --- a/FreeSql.Tests/FreeSql.Tests/Dameng/DamengAdo/DamengAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Dameng/DamengAdo/DamengAdoTest.cs @@ -1,4 +1,4 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; using System; using Xunit; @@ -10,6 +10,14 @@ namespace FreeSql.Tests.Dameng public void Pool() { var t1 = g.dameng.Ado.MasterPool.StatisticsFullily; + + var connectionString = "data source=127.0.0.1:5236;user id=2user;password=123456789;Pooling=true;poolsize=5"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.Dameng, () => new Dm.DmConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/Firebird/ExtensionsAdo/FirebirdAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/Firebird/ExtensionsAdo/FirebirdAdoTest.cs index 5701d1d8..ed72081a 100644 --- a/FreeSql.Tests/FreeSql.Tests/Firebird/ExtensionsAdo/FirebirdAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Firebird/ExtensionsAdo/FirebirdAdoTest.cs @@ -1,4 +1,4 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; using System; using Xunit; @@ -10,6 +10,14 @@ namespace FreeSql.Tests.Firebird public void Pool() { var t1 = g.firebird.Ado.MasterPool.StatisticsFullily; + + var connectionString = @"database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456;max pool size=5"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.Firebird, () => new FirebirdSql.Data.FirebirdClient.FbConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/MsAccess/MsAccessAdo/MsAccessAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/MsAccess/MsAccessAdo/MsAccessAdoTest.cs index b64a7bf7..2e628f0b 100644 --- a/FreeSql.Tests/FreeSql.Tests/MsAccess/MsAccessAdo/MsAccessAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/MsAccess/MsAccessAdo/MsAccessAdoTest.cs @@ -1,5 +1,6 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; using System; +using System.Data.OleDb; using Xunit; namespace FreeSql.Tests.MsAccess @@ -10,6 +11,14 @@ namespace FreeSql.Tests.MsAccess public void Pool() { var t1 = g.msaccess.Ado.MasterPool.StatisticsFullily; + + var connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:/accdb/2007.accdb;max pool size=51"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.MsAccess, () => new OleDbConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/MySql/MySqlAdo/MySqlAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/MySql/MySqlAdo/MySqlAdoTest.cs index 5dd5ae84..cbad9fad 100644 --- a/FreeSql.Tests/FreeSql.Tests/MySql/MySqlAdo/MySqlAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/MySql/MySqlAdo/MySqlAdoTest.cs @@ -1,4 +1,5 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; +using MySql.Data.MySqlClient; using System; using Xunit; @@ -10,6 +11,14 @@ namespace FreeSql.Tests.MySql public void Pool() { var t1 = g.mysql.Ado.MasterPool.StatisticsFullily; + + var connectionString = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=51;Allow User Variables=True"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.MySql, () => new MySqlConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/Oracle/OracleAdo/OracleAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/Oracle/OracleAdo/OracleAdoTest.cs index f0401716..90bea8ff 100644 --- a/FreeSql.Tests/FreeSql.Tests/Oracle/OracleAdo/OracleAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Oracle/OracleAdo/OracleAdoTest.cs @@ -1,4 +1,5 @@ using FreeSql.DataAnnotations; +using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using Xunit; @@ -11,6 +12,14 @@ namespace FreeSql.Tests.Oracle public void Pool() { var t1 = g.oracle.Ado.MasterPool.StatisticsFullily; + + var connectionString = "user id=1user;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=21"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.Oracle, () => new OracleConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs index 14e74edf..b4e5defa 100644 --- a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLAdo/PostgreSQLAdoTest.cs @@ -1,4 +1,5 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; +using Npgsql; using System; using Xunit; @@ -10,6 +11,14 @@ namespace FreeSql.Tests.PostgreSQL public void Pool() { var t1 = g.pgsql.Ado.MasterPool.StatisticsFullily; + + var connectionString = "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;ArrayNullabilityMode=Always;Pooling=true;Maximum Pool Size=21"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.PostgreSQL, () => new NpgsqlConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs index f39f85a5..54c59fda 100644 --- a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerAdo/SqlServerAdoTest.cs @@ -1,4 +1,4 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; using FreeSql.Tests.DataContext.SqlServer; using Microsoft.Data.SqlClient; using NetTaste; @@ -24,6 +24,14 @@ namespace FreeSql.Tests.SqlServer public void Pool() { var t1 = g.sqlserver.Ado.MasterPool.StatisticsFullily; + + var connectionString = "Data Source=.;Integrated Security=True;Initial Catalog=issues684;Pooling=true;Max Pool Size=31;TrustServerCertificate=true"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.SqlServer, () => new SqlConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] @@ -82,7 +90,7 @@ namespace FreeSql.Tests.SqlServer fsql.Ado.CommandFluent("dbo.GetICMaxNum", new Dictionary { ["TableName"] = "tb1" - // + // 更多参数 }) .WithParameter("FInterID", null, p => { diff --git a/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteAdo/SqliteAdoTest.cs b/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteAdo/SqliteAdoTest.cs index b7ce8564..6ba350e0 100644 --- a/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteAdo/SqliteAdoTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/Sqlite/SqliteAdo/SqliteAdoTest.cs @@ -1,4 +1,5 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; +using Microsoft.Data.Sqlite; using System; using Xunit; @@ -10,6 +11,14 @@ namespace FreeSql.Tests.Sqlite public void Pool() { var t1 = g.sqlite.Ado.MasterPool.StatisticsFullily; + + var connectionString = "data source=:memory:"; + using (var t2 = new FreeSqlBuilder() + .UseConnectionFactory(FreeSql.DataType.Sqlite, () => new SqliteConnection(connectionString)) + .Build()) + { + Assert.Equal(connectionString, t2.Ado.ConnectionString); + } } [Fact] diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs index fb36b359..20f875a9 100644 --- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs +++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.ClickHouse base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.ClickHouse, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.ClickHouse, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Custom/CustomAdo/CustomAdo.cs b/Providers/FreeSql.Provider.Custom/CustomAdo/CustomAdo.cs index f11e56bf..3ccb8b43 100644 --- a/Providers/FreeSql.Provider.Custom/CustomAdo/CustomAdo.cs +++ b/Providers/FreeSql.Provider.Custom/CustomAdo/CustomAdo.cs @@ -18,6 +18,7 @@ namespace FreeSql.Custom if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; _CreateCommandConnection = pool.TestConnection; _CreateParameterCommand = CreateCommand(); diff --git a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlAdo/CustomMySqlAdo.cs b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlAdo/CustomMySqlAdo.cs index 45134b18..2fa8378b 100644 --- a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlAdo/CustomMySqlAdo.cs +++ b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlAdo/CustomMySqlAdo.cs @@ -20,6 +20,7 @@ namespace FreeSql.Custom.MySql if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; return; } diff --git a/Providers/FreeSql.Provider.Custom/Oracle/CustomOracleAdo/CustomOracleAdo.cs b/Providers/FreeSql.Provider.Custom/Oracle/CustomOracleAdo/CustomOracleAdo.cs index 5a0e3a56..9e4e24ae 100644 --- a/Providers/FreeSql.Provider.Custom/Oracle/CustomOracleAdo/CustomOracleAdo.cs +++ b/Providers/FreeSql.Provider.Custom/Oracle/CustomOracleAdo/CustomOracleAdo.cs @@ -21,6 +21,7 @@ namespace FreeSql.Custom.Oracle if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; using (var conn = pool.Get()) UserId = CustomOracleAdo.GetUserId(conn.Value.ConnectionString); diff --git a/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLAdo/CustomPostgreSQLAdo.cs b/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLAdo/CustomPostgreSQLAdo.cs index 218493bf..8fe48386 100644 --- a/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLAdo/CustomPostgreSQLAdo.cs +++ b/Providers/FreeSql.Provider.Custom/PostgreSQL/CustomPostgreSQLAdo/CustomPostgreSQLAdo.cs @@ -21,6 +21,7 @@ namespace FreeSql.Custom.PostgreSQL if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; return; } diff --git a/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerAdo/CustomSqlServerAdo.cs b/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerAdo/CustomSqlServerAdo.cs index caee63af..e4a724b6 100644 --- a/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerAdo/CustomSqlServerAdo.cs +++ b/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerAdo/CustomSqlServerAdo.cs @@ -21,6 +21,7 @@ namespace FreeSql.Custom.SqlServer if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; return; } diff --git a/Providers/FreeSql.Provider.Dameng/DamengAdo/DamengAdo.cs b/Providers/FreeSql.Provider.Dameng/DamengAdo/DamengAdo.cs index 38c229a5..da574d66 100644 --- a/Providers/FreeSql.Provider.Dameng/DamengAdo/DamengAdo.cs +++ b/Providers/FreeSql.Provider.Dameng/DamengAdo/DamengAdo.cs @@ -17,7 +17,9 @@ namespace FreeSql.Dameng base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Dameng, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Dameng, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Firebird/FirebirdAdo/FirebirdAdo.cs b/Providers/FreeSql.Provider.Firebird/FirebirdAdo/FirebirdAdo.cs index 25b2d9b1..a2d6b0be 100644 --- a/Providers/FreeSql.Provider.Firebird/FirebirdAdo/FirebirdAdo.cs +++ b/Providers/FreeSql.Provider.Firebird/FirebirdAdo/FirebirdAdo.cs @@ -20,6 +20,7 @@ namespace FreeSql.Firebird if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Firebird, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; _CreateCommandConnection = pool.TestConnection; return; diff --git a/Providers/FreeSql.Provider.GBase/GBaseAdo/GBaseAdo.cs b/Providers/FreeSql.Provider.GBase/GBaseAdo/GBaseAdo.cs index dc8a8260..3981b23b 100644 --- a/Providers/FreeSql.Provider.GBase/GBaseAdo/GBaseAdo.cs +++ b/Providers/FreeSql.Provider.GBase/GBaseAdo/GBaseAdo.cs @@ -20,6 +20,7 @@ namespace FreeSql.GBase if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.GBase, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; _CreateCommandConnection = pool.TestConnection; return; diff --git a/Providers/FreeSql.Provider.KingbaseES/KingbaseESAdo/KingbaseESAdo.cs b/Providers/FreeSql.Provider.KingbaseES/KingbaseESAdo/KingbaseESAdo.cs index 26706cc0..2fd935f4 100644 --- a/Providers/FreeSql.Provider.KingbaseES/KingbaseESAdo/KingbaseESAdo.cs +++ b/Providers/FreeSql.Provider.KingbaseES/KingbaseESAdo/KingbaseESAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.KingbaseES base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.KingbaseES, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.KingbaseES, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.MsAccess/MsAccessAdo/MsAccessAdo.cs b/Providers/FreeSql.Provider.MsAccess/MsAccessAdo/MsAccessAdo.cs index 2f3690ed..4ca5d52b 100644 --- a/Providers/FreeSql.Provider.MsAccess/MsAccessAdo/MsAccessAdo.cs +++ b/Providers/FreeSql.Provider.MsAccess/MsAccessAdo/MsAccessAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.MsAccess base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.MsAccess, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.MsAccess, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.MySql/MySqlAdo/MySqlAdo.cs b/Providers/FreeSql.Provider.MySql/MySqlAdo/MySqlAdo.cs index 3499c9bd..a72bd5c3 100644 --- a/Providers/FreeSql.Provider.MySql/MySqlAdo/MySqlAdo.cs +++ b/Providers/FreeSql.Provider.MySql/MySqlAdo/MySqlAdo.cs @@ -23,7 +23,9 @@ namespace FreeSql.MySql base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.MySql, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.MySql, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengAdo/OdbcDamengAdo.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengAdo/OdbcDamengAdo.cs index d5c1e5f3..c179659c 100644 --- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengAdo/OdbcDamengAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengAdo/OdbcDamengAdo.cs @@ -18,7 +18,9 @@ namespace FreeSql.Odbc.Dameng base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcDameng, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcDameng, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/Default/OdbcAdo/OdbcAdo.cs b/Providers/FreeSql.Provider.Odbc/Default/OdbcAdo/OdbcAdo.cs index ea17b6df..b4aa919c 100644 --- a/Providers/FreeSql.Provider.Odbc/Default/OdbcAdo/OdbcAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/Default/OdbcAdo/OdbcAdo.cs @@ -18,7 +18,9 @@ namespace FreeSql.Odbc.Default base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Odbc, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Odbc, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESAdo/OdbcKingbaseESAdo.cs b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESAdo/OdbcKingbaseESAdo.cs index fbaa40f4..43cd734d 100644 --- a/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESAdo/OdbcKingbaseESAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/KingbaseES/OdbcKingbaseESAdo/OdbcKingbaseESAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.Odbc.KingbaseES base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcKingbaseES, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcKingbaseES, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlAdo/OdbcMySqlAdo.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlAdo/OdbcMySqlAdo.cs index 17846612..2e719b47 100644 --- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlAdo/OdbcMySqlAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlAdo/OdbcMySqlAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.Odbc.MySql base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcMySql, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcMySql, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleAdo/OdbcOracleAdo.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleAdo/OdbcOracleAdo.cs index fe973ffb..e7e3ad1d 100644 --- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleAdo/OdbcOracleAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleAdo/OdbcOracleAdo.cs @@ -18,7 +18,9 @@ namespace FreeSql.Odbc.Oracle base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcOracle, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcOracle, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLAdo/OdbcPostgreSQLAdo.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLAdo/OdbcPostgreSQLAdo.cs index 819d66cd..ef0a329a 100644 --- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLAdo/OdbcPostgreSQLAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLAdo/OdbcPostgreSQLAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.Odbc.PostgreSQL base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcPostgreSQL, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcPostgreSQL, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerAdo/OdbcSqlServerAdo.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerAdo/OdbcSqlServerAdo.cs index c1363669..fc4b1f5f 100644 --- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerAdo/OdbcSqlServerAdo.cs +++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerAdo/OdbcSqlServerAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.Odbc.SqlServer base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcSqlServer, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.OdbcSqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.Oracle/OracleAdo/OracleAdo.cs b/Providers/FreeSql.Provider.Oracle/OracleAdo/OracleAdo.cs index 98fc95a3..84b67a3f 100644 --- a/Providers/FreeSql.Provider.Oracle/OracleAdo/OracleAdo.cs +++ b/Providers/FreeSql.Provider.Oracle/OracleAdo/OracleAdo.cs @@ -16,7 +16,9 @@ namespace FreeSql.Oracle base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Oracle, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Oracle, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLAdo/PostgreSQLAdo.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLAdo/PostgreSQLAdo.cs index cdce586d..03e3acc5 100644 --- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLAdo/PostgreSQLAdo.cs +++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLAdo/PostgreSQLAdo.cs @@ -21,7 +21,9 @@ namespace FreeSql.PostgreSQL base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.PostgreSQL, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.PostgreSQL, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.ShenTong/ShenTongAdo/ShenTongAdo.cs b/Providers/FreeSql.Provider.ShenTong/ShenTongAdo/ShenTongAdo.cs index 92492211..de6dc917 100644 --- a/Providers/FreeSql.Provider.ShenTong/ShenTongAdo/ShenTongAdo.cs +++ b/Providers/FreeSql.Provider.ShenTong/ShenTongAdo/ShenTongAdo.cs @@ -19,7 +19,9 @@ namespace FreeSql.ShenTong base._util = util; if (connectionFactory != null) { - MasterPool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.ShenTong, connectionFactory); + var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.ShenTong, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; + MasterPool = pool; return; } if (!string.IsNullOrEmpty(masterConnectionString)) diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs index e7df87c4..e794efac 100644 --- a/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs +++ b/Providers/FreeSql.Provider.SqlServer/SqlServerAdo/SqlServerAdo.cs @@ -24,6 +24,7 @@ namespace FreeSql.SqlServer if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.SqlServer, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; _CreateCommandConnection = pool.TestConnection; return; diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteAdo/SqliteAdo.cs b/Providers/FreeSql.Provider.Sqlite/SqliteAdo/SqliteAdo.cs index fbc2ee08..dc379388 100644 --- a/Providers/FreeSql.Provider.Sqlite/SqliteAdo/SqliteAdo.cs +++ b/Providers/FreeSql.Provider.Sqlite/SqliteAdo/SqliteAdo.cs @@ -24,6 +24,7 @@ namespace FreeSql.Sqlite if (connectionFactory != null) { var pool = new FreeSql.Internal.CommonProvider.DbConnectionPool(DataType.Sqlite, connectionFactory); + ConnectionString = pool.TestConnection?.ConnectionString; MasterPool = pool; _CreateCommandConnection = pool.TestConnection; return;