MySql Sqlite ColumnDataType BUG

This commit is contained in:
sunkaixuan 2018-01-18 15:17:00 +08:00
parent 13e0a0945e
commit 765c1a299d
3 changed files with 11 additions and 4 deletions

View File

@ -224,8 +224,14 @@ namespace SqlSugar
DefaultValue = item.DefaultValue,
ColumnDescription = item.ColumnDescription,
Length = item.Length,
DecimalDigits=item.DecimalDigits
DecimalDigits = item.DecimalDigits
};
GetDbType(item, propertyType, result);
return result;
}
protected virtual void GetDbType(EntityColumnInfo item, Type propertyType, DbColumnInfo result)
{
if (!string.IsNullOrEmpty(item.DataType))
{
result.DataType = item.DataType;
@ -238,7 +244,6 @@ namespace SqlSugar
{
result.DataType = this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name);
}
return result;
}
protected virtual bool IsSamgeType(EntityColumnInfo ec, DbColumnInfo dc)

View File

@ -24,9 +24,9 @@ namespace SqlSugar
}
protected override DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{
var propertyType = UtilMethods.GetUnderType(item.PropertyInfo);
var result = new DbColumnInfo()
{
DataType = this.Context.Ado.DbBind.GetDbTypeName(UtilMethods.GetUnderType(item.PropertyInfo).Name),
TableId = entityInfo.Columns.IndexOf(item),
DbColumnName = item.DbColumnName.HasValue() ? item.DbColumnName : item.PropertyName,
IsPrimarykey = item.IsPrimarykey,
@ -37,6 +37,7 @@ namespace SqlSugar
ColumnDescription = item.ColumnDescription,
Length = item.Length
};
GetDbType(item, propertyType, result);
if (result.DataType.Equals("varchar", StringComparison.CurrentCultureIgnoreCase) && result.Length == 0)
{
result.Length = 1;

View File

@ -43,9 +43,9 @@ namespace SqlSugar
}
protected override DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{
var propertyType = UtilMethods.GetUnderType(item.PropertyInfo);
var result = new DbColumnInfo()
{
DataType = item.PropertyInfo.PropertyType.IsEnum?this.Context.Ado.DbBind.GetDbTypeName(UtilConstants.IntType.Name) :this.Context.Ado.DbBind.GetDbTypeName(UtilMethods.GetUnderType(item.PropertyInfo).Name),
TableId = entityInfo.Columns.IndexOf(item),
DbColumnName = item.DbColumnName.HasValue() ? item.DbColumnName : item.PropertyName,
IsPrimarykey = item.IsPrimarykey,
@ -56,6 +56,7 @@ namespace SqlSugar
ColumnDescription = item.ColumnDescription,
Length = item.Length
};
GetDbType(item, propertyType, result);
if (result.DataType.Equals("varchar", StringComparison.CurrentCultureIgnoreCase) && result.Length == 0)
{
result.Length = 1;