Code First uint usort ulong bug

This commit is contained in:
skx 2020-12-20 02:02:39 +08:00
parent 30d9ed655d
commit cf81fb443f
2 changed files with 30 additions and 2 deletions

View File

@ -13,6 +13,15 @@ namespace OrmTest
if (Db.DbMaintenance.IsAnyTable("UnitCodeTest1", false))
Db.DbMaintenance.DropTable("UnitCodeTest1");
Db.CodeFirst.InitTables<UnitCodeTest1>();
Db.CodeFirst.InitTables<UnitCodeTest2222>();
Db.Insertable(new UnitCodeTest2222()
{
Id = 1,
Id2 = 2,
Id3 = 3,
Id4=4
}).ExecuteCommand();
var list = Db.Queryable<UnitCodeTest2222>().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; }
}
}
}

View File

@ -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
}
}