From 310ed5c124937164853f4a29d936466c32921b71 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 14 Mar 2024 16:44:19 +0800 Subject: [PATCH] Synchronization code --- .../Abstract/CodeFirstProvider/CodeFirstProvider.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs index 6a476f0d2..190102fc4 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs @@ -425,6 +425,18 @@ namespace SqlSugar ec.IsNullable != dc.IsNullable || IsNoSamePrecision(ec, dc) || IsNoSamgeType(ec, dc)))).ToList(); + + alterColumns.RemoveAll(entityColumnInfo => + { + var bigStringArray = StaticConfig.CodeFirst_BigString.Replace("varcharmax", "nvarchar(max)").Split(','); + var dbColumnInfo = dbColumns.FirstOrDefault(dc => dc.DbColumnName.EqualCase(entityColumnInfo.DbColumnName)); + var isMaxString = (dbColumnInfo?.Length == -1 && dbColumnInfo?.DataType?.EqualCase("nvarchar")==true); + var isRemove = + dbColumnInfo != null + && bigStringArray.Contains(entityColumnInfo.DataType) + && isMaxString; + return isRemove; + }); var renameColumns = entityColumns .Where(it => !string.IsNullOrEmpty(it.OldDbColumnName)) .Where(entityColumn => dbColumns.Any(dbColumn => entityColumn.OldDbColumnName.Equals(dbColumn.DbColumnName, StringComparison.CurrentCultureIgnoreCase)))