From 2be7778141b7f01aabf68e50038082c8f973c0d7 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 14 May 2023 12:12:50 +0800 Subject: [PATCH] Optimized code --- .../QueryableProvider/QueryableExecuteSql.cs | 37 ++----------------- .../QueryableProvider/QueryableHelper.cs | 36 ++++++++++++++++++ 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs index 2915bc664..175cd82ab 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs @@ -759,39 +759,10 @@ namespace SqlSugar public int IntoTable(Type TableEntityType,string TableName) { - //var entityInfo = this.Context.EntityMaintenance.GetEntityInfo(TableEntityType); - var sqlInfo = this.ToSql(); - var name = this.SqlBuilder.GetTranslationTableName(TableName); - var columns = ""; - var sql = ""; - var isSqlFunc = this.QueryBuilder.GetSelectValue?.Contains(")") == true && this.QueryBuilder.SelectValue is Expression; - if (isSqlFunc) - { - columns = "("; - foreach (var item in ExpressionTool.GetNewExpressionItemList((Expression)this.QueryBuilder.SelectValue)) - { - var column = item.Key; - columns += $"{column},"; - } - columns = columns.TrimEnd(',') + ")"; - sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key; - } - else - { - if (this.QueryBuilder.GetSelectValue != null && this.QueryBuilder.GetSelectValue.Contains(",")) ; - { - columns = "("; - foreach (var item in this.QueryBuilder.GetSelectValue.Split(',')) - { - var column = Regex.Split(item, "AS").Last().Trim(); - columns += $"{column},"; - } - columns = columns.TrimEnd(',') + ")"; - } - sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key; - } + KeyValuePair> sqlInfo; + string sql; + OutIntoTableSql(TableName, out sqlInfo, out sql); return this.Context.Ado.ExecuteCommand(sql, sqlInfo.Value); } - - } + } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs index 1ad24533d..c6f36cdea 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableHelper.cs @@ -1187,6 +1187,42 @@ namespace SqlSugar #endregion #region Other + + private void OutIntoTableSql(string TableName, out KeyValuePair> sqlInfo, out string sql) + { + //var entityInfo = this.Context.EntityMaintenance.GetEntityInfo(TableEntityType); + sqlInfo = this.ToSql(); + var name = this.SqlBuilder.GetTranslationTableName(TableName); + var columns = ""; + sql = ""; + var isSqlFunc = this.QueryBuilder.GetSelectValue?.Contains(")") == true && this.QueryBuilder.SelectValue is Expression; + if (isSqlFunc) + { + columns = "("; + foreach (var item in ExpressionTool.GetNewExpressionItemList((Expression)this.QueryBuilder.SelectValue)) + { + var column = item.Key; + columns += $"{column},"; + } + columns = columns.TrimEnd(',') + ")"; + sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key; + } + else + { + if (this.QueryBuilder.GetSelectValue != null && this.QueryBuilder.GetSelectValue.Contains(",")) ; + { + columns = "("; + foreach (var item in this.QueryBuilder.GetSelectValue.Split(',')) + { + var column = Regex.Split(item, "AS").Last().Trim(); + columns += $"{column},"; + } + columns = columns.TrimEnd(',') + ")"; + } + sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key; + } + } + private string GetTableName(EntityInfo entity, string tableName) { var oldTableName = tableName;