diff --git a/Src/Asp.Net/MySqlTest/UnitTest/UCodeFirst.cs b/Src/Asp.Net/MySqlTest/UnitTest/UCodeFirst.cs index ab92b7f92..ac6765348 100644 --- a/Src/Asp.Net/MySqlTest/UnitTest/UCodeFirst.cs +++ b/Src/Asp.Net/MySqlTest/UnitTest/UCodeFirst.cs @@ -13,6 +13,15 @@ namespace OrmTest if (Db.DbMaintenance.IsAnyTable("UnitCodeTest1", false)) Db.DbMaintenance.DropTable("UnitCodeTest1"); Db.CodeFirst.InitTables(); + Db.CodeFirst.InitTables(); + Db.Insertable(new UnitCodeTest2222() + { + Id = 1, + Id2 = 2, + Id3 = 3, + Id4=4 + }).ExecuteCommand(); + var list = Db.Queryable().ToList(); } public class UnitCodeTest1 { @@ -21,5 +30,12 @@ namespace OrmTest [SqlSugar.SugarColumn(DefaultValue="now()", IndexGroupNameList =new string[] {"group1" } )] public DateTime? CreateDate { get; set; } } + public class UnitCodeTest2222 + { + public uint Id { get; set; } + public ulong Id2 { get; set; } + public ushort Id3 { get; set; } + public uint? Id4 { get; set; } + } } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs index 39a4cfaf4..a153512dc 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/CodeFirstProvider/CodeFirstProvider.cs @@ -304,7 +304,8 @@ namespace SqlSugar } else { - result.DataType = this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name); + var name = GetType(propertyType.Name); + result.DataType = this.Context.Ado.DbBind.GetDbTypeName(name); } } @@ -322,7 +323,8 @@ namespace SqlSugar } else { - properyTypeName = this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name); + var name = GetType(propertyType.Name); + properyTypeName = this.Context.Ado.DbBind.GetDbTypeName(name); } var dataType = dc.DataType; if (properyTypeName == "boolean" && dataType == "bool") @@ -331,6 +333,16 @@ namespace SqlSugar } return properyTypeName != dataType; } + private static string GetType(string name) + { + if (name.IsContainsIn("UInt32", "UInt16", "UInt64")) + { + name = name.TrimStart('U'); + } + + return name; + } + #endregion } }