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