From 281d6c7d813efb1b1d9318e75588322c23426513 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 21 May 2019 13:17:29 +0800 Subject: [PATCH] Update Core --- .../IDataReaderEntityBuilder.cs | 2 +- .../SqlSugar/Entities/MapperCache.cs | 2 +- .../MySql/DbMaintenance/MySqlDbMaintenance.cs | 34 ++++++++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs index 953671bac..723d92c24 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs @@ -106,7 +106,7 @@ namespace SqlSugar foreach (var columnInfo in columnInfos) { string fileName = columnInfo.DbColumnName ?? columnInfo.PropertyName; - if (columnInfo.IsIgnore) + if (columnInfo.IsIgnore&& !this.ReaderKeys.Any(it=>it.Equals(fileName,StringComparison.CurrentCultureIgnoreCase))) { continue; } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/MapperCache.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/MapperCache.cs index f8024862c..b6e2d4c9f 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/MapperCache.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/MapperCache.cs @@ -22,7 +22,7 @@ namespace SqlSugar public Result Get(Func, Result> action) { GetIndex++; - string key = "Get" + GetIndex; + string key = "Get" +typeof(Result)+action.GetHashCode()+action.Method.Name; if (caches.ContainsKey(key)) { return (Result)caches[key]; diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs index 5cdb0c062..df858c0a9 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs @@ -146,7 +146,7 @@ namespace SqlSugar { get { - return "exec sp_rename '{0}.{1}','{2}','column';"; + return "alter table {0} change column {1} {2}"; } } #endregion @@ -366,6 +366,38 @@ namespace SqlSugar return dataSize; } + public override bool RenameColumn(string tableName, string oldColumnName, string newColumnName) + { + var columns=GetColumnInfosByTableName(tableName).Where(it=>it.DbColumnName.Equals(oldColumnName,StringComparison.CurrentCultureIgnoreCase)); + if (columns != null && columns.Any()) + { + var column = columns.First(); + var appendSql = " " + column.DataType; + if (column.Length > 0 && column.Scale == 0) + { + appendSql += string.Format("({0}) ", column.Length); + } + else if (column.Scale > 0 && column.Length > 0) + { + appendSql += string.Format("({0},{1}) ", column.Length, column.Scale); + } + else + { + appendSql += column.IsNullable ? " NULL" : "NOT NULL"; + } + tableName = this.SqlBuilder.GetTranslationTableName(tableName); + oldColumnName = this.SqlBuilder.GetTranslationColumnName(oldColumnName); + newColumnName = this.SqlBuilder.GetTranslationColumnName(newColumnName); + string sql = string.Format(this.RenameColumnSql, tableName, oldColumnName, newColumnName+appendSql); + this.Context.Ado.ExecuteCommand(sql); + return true; + } + else + { + return false; + } + } + public override bool IsAnyConstraint(string constraintName) { throw new NotSupportedException("MySql IsAnyConstraint NotSupportedException");