mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 02:14:53 +08:00
Code First Change Data Type synchronization
This commit is contained in:
@@ -13,8 +13,8 @@ namespace OrmTest.Demo
|
||||
public int Id { get; set; }
|
||||
[SugarColumn(Length = 21,OldColumnName = "Name2")]
|
||||
public string Name{ get; set; }
|
||||
[SugarColumn(IsNullable = true)]
|
||||
public bool IsOk { get; set; }
|
||||
[SugarColumn(IsNullable = true,Length =10)]
|
||||
public string IsOk { get; set; }
|
||||
public Guid Guid { get; set; }
|
||||
public decimal Decimal { get; set; }
|
||||
[SugarColumn(IsNullable = true)]
|
||||
|
||||
@@ -111,7 +111,9 @@ namespace SqlSugar
|
||||
.Where(ec => !dbColumns.Any(dc => dc.DbColumnName.Equals(ec.OldDbColumnName, StringComparison.CurrentCultureIgnoreCase)))
|
||||
.Where(ec =>
|
||||
dbColumns.Any(dc => dc.DbColumnName.Equals(ec.DbColumnName)
|
||||
&& ((ec.Length != dc.Length && PubMethod.GetUnderType(ec.PropertyInfo).IsIn(PubConst.StringType)) || ec.IsNullable != dc.IsNullable))).ToList();
|
||||
&& ((ec.Length != dc.Length && PubMethod.GetUnderType(ec.PropertyInfo).IsIn(PubConst.StringType)) ||
|
||||
ec.IsNullable != dc.IsNullable ||
|
||||
IsSamgeType(ec, dc)))).ToList();
|
||||
var renameColumns = entityColumns
|
||||
.Where(it => !string.IsNullOrEmpty(it.OldDbColumnName))
|
||||
.Where(entityColumn => dbColumns.Any(dbColumn => entityColumn.OldDbColumnName.Equals(dbColumn.DbColumnName, StringComparison.CurrentCultureIgnoreCase)))
|
||||
@@ -211,6 +213,13 @@ namespace SqlSugar
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
private bool IsSamgeType(EntityColumnInfo ec, DbColumnInfo dc)
|
||||
{
|
||||
var propType = this.Context.Ado.DbBind.GetDbTypeName(PubMethod.GetUnderType(ec.PropertyInfo).Name);
|
||||
var dataType = dc.DataType;
|
||||
return propType != dataType;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user