diff --git a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmFastBuilder.cs b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmFastBuilder.cs index 6b7bee9d3..6a03ed6f7 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmFastBuilder.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Dm/SqlBuilder/DmFastBuilder.cs @@ -46,6 +46,15 @@ namespace SqlSugar return await _Execute(dt); } } + public override async Task CreateTempAsync(DataTable dt) + { + var queryable = this.Context.Queryable(); + var tableName = queryable.SqlBuilder.GetTranslationTableName(dt.TableName); + dt.TableName = "temp" + SnowFlakeSingle.instance.getID(); + var sql = queryable.AS(tableName).Where(it => false).ToSql().Key; + await this.Context.Ado.ExecuteCommandAsync($"CREATE TABLE {dt.TableName} as ( {sql} ) "); + } + public override string UpdateSql { get; set; } = @"UPDATE {1} TM INNER JOIN {2} TE ON {3} SET {0} "; private async Task _Execute(DataTable dt) {