From aa13fc49a75cf013cc7e5036e14e918806a52713 Mon Sep 17 00:00:00 2001 From: hyzx86 Date: Tue, 4 Apr 2023 16:28:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E6=89=80=E6=9C=89=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=20CodeFirst=20=20=E4=B8=AD=E7=9A=84=20LocalExecuteSca?= =?UTF-8?q?lar=20=20=E5=A2=9E=E5=8A=A0=20AOP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.DbContext/FreeSql.DbContext.xml | 18 ++++++++++++++++++ .../SqlServer/SqlServerCodeFirstTest.cs | 2 +- .../ClickHouseCodeFirst.cs | 4 +++- .../MySql/CustomMySqlCodeFirst.cs | 4 +++- .../SqlServer/CustomSqlServerCodeFirst.cs | 2 ++ .../FreeSql.Provider.GBase/GBaseCodeFirst.cs | 4 +++- .../FreeSql.Provider.MySql/MySqlCodeFirst.cs | 2 ++ .../MySql/OdbcMySqlCodeFirst.cs | 2 ++ .../SqlServer/OdbcSqlServerCodeFirst.cs | 2 ++ .../SqlServerCodeFirst.cs | 2 ++ 10 files changed, 38 insertions(+), 4 deletions(-) diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 594fbad3..26522f10 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -733,6 +733,15 @@ + + + 根据Assembly扫描所有继承IEntityTypeConfiguration<T>的配置类 + + + + + + 创建普通数据上下文档对象 @@ -791,5 +800,14 @@ + + + 批量注入 Repository,可以参考代码自行调整 + + + + + + diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs index 6e4685ad..28ee5c9e 100644 --- a/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/SqlServerCodeFirstTest.cs @@ -612,8 +612,8 @@ WHERE ([id] = '{item.id}')", fsql.Update().NoneParameter().Set(a = [Fact] public void AddUniques() { - var sql = g.sqlserver.CodeFirst.GetComparisonDDLStatements(); g.sqlserver.CodeFirst.SyncStructure(); + var sql = g.sqlserver.CodeFirst.GetComparisonDDLStatements(); g.sqlserver.CodeFirst.SyncStructure(typeof(AddUniquesInfo), "AddUniquesInfo1"); } [Table(Name = "AddUniquesInfo", OldName = "AddUniquesInfo2")] diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseCodeFirst.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseCodeFirst.cs index 363f8d84..2264d4be 100644 --- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseCodeFirst.cs +++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseCodeFirst.cs @@ -480,7 +480,9 @@ where a.database in ({0}) and a.table in ({1})", tboldname ?? tbname); using (var cmd = conn.Value.CreateCommand()) { cmd.CommandText = sql; - cmd.CommandType = CommandType.Text; + cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlCodeFirst.cs b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlCodeFirst.cs index bee6e372..d381d2c1 100644 --- a/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlCodeFirst.cs +++ b/Providers/FreeSql.Provider.Custom/MySql/CustomMySqlCodeFirst.cs @@ -78,7 +78,7 @@ namespace FreeSql.Custom.MySql { Object conn = null; string database = null; - + try { conn = _orm.Ado.MasterPool.Get(TimeSpan.FromSeconds(5)); @@ -382,6 +382,8 @@ where a.table_schema IN ({0}) and a.table_name IN ({1}) and a.index_name <> 'PRI { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerCodeFirst.cs b/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerCodeFirst.cs index 96513be2..15e66e4e 100644 --- a/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerCodeFirst.cs +++ b/Providers/FreeSql.Provider.Custom/SqlServer/CustomSqlServerCodeFirst.cs @@ -474,6 +474,8 @@ use [" + database + "];", tboldname ?? tbname); { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.GBase/GBaseCodeFirst.cs b/Providers/FreeSql.Provider.GBase/GBaseCodeFirst.cs index 60a834fa..cc96cc02 100644 --- a/Providers/FreeSql.Provider.GBase/GBaseCodeFirst.cs +++ b/Providers/FreeSql.Provider.GBase/GBaseCodeFirst.cs @@ -186,7 +186,9 @@ namespace FreeSql.GBase using (var cmd = conn.Value.CreateCommand()) { cmd.CommandText = sql; - cmd.CommandType = CommandType.Text; + cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.MySql/MySqlCodeFirst.cs b/Providers/FreeSql.Provider.MySql/MySqlCodeFirst.cs index 7aac0ed7..6a9fbb86 100644 --- a/Providers/FreeSql.Provider.MySql/MySqlCodeFirst.cs +++ b/Providers/FreeSql.Provider.MySql/MySqlCodeFirst.cs @@ -393,6 +393,8 @@ where a.table_schema IN ({0}) and a.table_name IN ({1}) and a.index_name <> 'PRI { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlCodeFirst.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlCodeFirst.cs index 547e3455..7825d5d8 100644 --- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlCodeFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlCodeFirst.cs @@ -383,6 +383,8 @@ where a.table_schema IN ({0}) and a.table_name IN ({1}) and a.index_name <> 'PRI { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerCodeFirst.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerCodeFirst.cs index 2a182b8b..8445c9e9 100644 --- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerCodeFirst.cs +++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerCodeFirst.cs @@ -475,6 +475,8 @@ use [" + database + "];", tboldname ?? tbname); { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } } diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerCodeFirst.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerCodeFirst.cs index 39b524f9..ae18b74e 100644 --- a/Providers/FreeSql.Provider.SqlServer/SqlServerCodeFirst.cs +++ b/Providers/FreeSql.Provider.SqlServer/SqlServerCodeFirst.cs @@ -477,6 +477,8 @@ use [" + database + "];", tboldname ?? tbname); { cmd.CommandText = sql; cmd.CommandType = CommandType.Text; + var before = new Aop.CommandBeforeEventArgs(cmd); + this._orm?.Aop.CommandBeforeHandler?.Invoke(this._orm, before); return cmd.ExecuteScalar(); } }