Update MySql

This commit is contained in:
sunkaixuan
2017-06-25 05:49:54 +08:00
parent ae07590a43
commit c29a36bb43
2 changed files with 27 additions and 6 deletions

View File

@@ -186,23 +186,23 @@ namespace SqlSugar
#endregion
#region Helper methods
public string GetCreateTableString(EntityInfo entityInfo)
public virtual string GetCreateTableString(EntityInfo entityInfo)
{
StringBuilder result = new StringBuilder();
var tableName = GetTableName(entityInfo);
return result.ToString();
}
public string GetCreateColumnsString(EntityInfo entityInfo)
public virtual string GetCreateColumnsString(EntityInfo entityInfo)
{
StringBuilder result = new StringBuilder();
var tableName = GetTableName(entityInfo);
return result.ToString();
}
protected string GetTableName(EntityInfo entityInfo)
protected virtual string GetTableName(EntityInfo entityInfo)
{
return entityInfo.DbTableName == null ? entityInfo.EntityName : entityInfo.DbTableName;
}
protected DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
protected virtual DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{
var result = new DbColumnInfo()
{
@@ -220,7 +220,7 @@ namespace SqlSugar
return result;
}
protected bool IsSamgeType(EntityColumnInfo ec, DbColumnInfo dc)
protected virtual bool IsSamgeType(EntityColumnInfo ec, DbColumnInfo dc)
{
var propType = this.Context.Ado.DbBind.GetDbTypeName(PubMethod.GetUnderType(ec.PropertyInfo).Name);
var dataType = dc.DataType;

View File

@@ -16,12 +16,33 @@ namespace SqlSugar
{
foreach (var item in entityInfo.Columns)
{
DbColumnInfo dbColumnInfo = EntityColumnToDbColumn(entityInfo, tableName, item);
DbColumnInfo dbColumnInfo = this.EntityColumnToDbColumn(entityInfo, tableName, item);
columns.Add(dbColumnInfo);
}
}
this.Context.DbMaintenance.CreateTable(tableName, columns);
}
protected override DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{
var result = new DbColumnInfo()
{
DataType = this.Context.Ado.DbBind.GetDbTypeName(PubMethod.GetUnderType(item.PropertyInfo).Name),
TableId = entityInfo.Columns.IndexOf(item),
DbColumnName = item.DbColumnName.IsValuable() ? item.DbColumnName : item.PropertyName,
IsPrimarykey = item.IsPrimarykey,
IsIdentity = item.IsIdentity,
TableName = tableName,
IsNullable = item.IsNullable,
DefaultValue = item.DefaultValue,
ColumnDescription = item.ColumnDescription,
Length = item.Length
};
if (result.DataType.Equals("varchar",StringComparison.CurrentCultureIgnoreCase)&& result.Length == 0) {
result.Length = 1;
}
return result;
}
protected override void ConvertColumns(List<DbColumnInfo> dbColumns)
{
foreach (var item in dbColumns)