Browse Source

Synchronization code

pull/40/head
sunkaixuan 1 year ago
parent
commit
4a9316407c
  1. 26
      Src/Asp.Net/SqlSugar/Realization/Dm/CodeFirst/DmCodeFirst.cs
  2. 2
      Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs
  3. 4
      Src/Asp.Net/SqlSugar/Realization/Oracle/CodeFirst/OracleCodeFirst.cs

26
Src/Asp.Net/SqlSugar/Realization/Dm/CodeFirst/DmCodeFirst.cs

@ -50,6 +50,32 @@ namespace SqlSugar
}
return result;
}
protected override void GetDbType(EntityColumnInfo item, Type propertyType, DbColumnInfo result)
{
if (!string.IsNullOrEmpty(item.DataType))
{
result.DataType = item.DataType;
}
else if (propertyType.IsEnum())
{
result.DataType = this.Context.Ado.DbBind.GetDbTypeName(item.Length > 9 ? UtilConstants.LongType.Name : UtilConstants.IntType.Name);
}
else
{
if (propertyType.Name.Equals("Guid", StringComparison.CurrentCultureIgnoreCase))
{
result.DataType = this.Context.Ado.DbBind.GetDbTypeName(UtilConstants.StringType.Name);
if (result.Length <= 1)
{
result.Length = 36;
}
}
else
{
result.DataType = this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name);
}
}
}
protected override void ConvertColumns(List<DbColumnInfo> dbColumns)
{

2
Src/Asp.Net/SqlSugar/Realization/Dm/DbBind/DmDbBind.cs

@ -18,6 +18,8 @@ namespace SqlSugar
csharpTypeName = "long";
if (csharpTypeName.ToLower().IsIn("boolean", "bool"))
csharpTypeName = "bool";
if (csharpTypeName == "Guid")
csharpTypeName = "string";
if (csharpTypeName == "DateTimeOffset")
csharpTypeName = "DateTime";
var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase));

4
Src/Asp.Net/SqlSugar/Realization/Oracle/CodeFirst/OracleCodeFirst.cs

@ -28,6 +28,10 @@ namespace SqlSugar
if (propertyType.Name.Equals("Guid", StringComparison.CurrentCultureIgnoreCase))
{
result.DataType = this.Context.Ado.DbBind.GetDbTypeName(UtilConstants.StringType.Name);
if (result.Length <= 1)
{
result.Length = 36;
}
}
else
{

Loading…
Cancel
Save