diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs index 9a809b408..5edff46ad 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs @@ -71,7 +71,7 @@ namespace OrmTest //#endregion - + db.DbMaintenance.DropTable(); //用例代码 var testSplit001 = new TestSplit001() diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 6e681bb1f..09018307f 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection; using System.Text; using System.Text.RegularExpressions; @@ -417,8 +418,20 @@ namespace SqlSugar } public virtual bool DropTable() { - var tableName= this.Context.EntityMaintenance.GetTableName(); - return DropTable(tableName); + if (typeof(T).GetCustomAttribute() != null) + { + var tables = this.Context.SplitHelper(typeof(T)).GetTables(); + foreach (var item in tables) + { + this.Context.DbMaintenance.DropTable(SqlBuilder.GetTranslationColumnName(item.TableName)); + } + return true; + } + else + { + var tableName = this.Context.EntityMaintenance.GetTableName(); + return DropTable(tableName); + } } public virtual bool DropTable() { @@ -443,8 +456,20 @@ namespace SqlSugar } public virtual bool TruncateTable() { - this.Context.InitMappingInfo(); - return this.TruncateTable(this.Context.EntityMaintenance.GetEntityInfo().DbTableName); + if (typeof(T).GetCustomAttribute() != null) + { + var tables = this.Context.SplitHelper(typeof(T)).GetTables(); + foreach (var item in tables) + { + this.Context.DbMaintenance.TruncateTable(SqlBuilder.GetTranslationColumnName(item.TableName)); + } + return true; + } + else + { + this.Context.InitMappingInfo(); + return this.TruncateTable(this.Context.EntityMaintenance.GetEntityInfo().DbTableName); + } } public virtual bool TruncateTable() {