Code First Enum BUG

This commit is contained in:
sunkaixuan 2017-06-25 17:01:25 +08:00
parent eef4b16644
commit c9020bc83f
3 changed files with 13 additions and 8 deletions

View File

@ -209,9 +209,10 @@ namespace SqlSugar
} }
protected virtual DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item) protected virtual DbColumnInfo EntityColumnToDbColumn(EntityInfo entityInfo, string tableName, EntityColumnInfo item)
{ {
var propertyType = PubMethod.GetUnderType(item.PropertyInfo);
var result = new DbColumnInfo() var result = new DbColumnInfo()
{ {
DataType = this.Context.Ado.DbBind.GetDbTypeName(PubMethod.GetUnderType(item.PropertyInfo).Name), DataType = propertyType.IsEnum?"int":this.Context.Ado.DbBind.GetDbTypeName(propertyType.Name),
TableId = entityInfo.Columns.IndexOf(item), TableId = entityInfo.Columns.IndexOf(item),
DbColumnName = item.DbColumnName.IsValuable() ? item.DbColumnName : item.PropertyName, DbColumnName = item.DbColumnName.IsValuable() ? item.DbColumnName : item.PropertyName,
IsPrimarykey = item.IsPrimarykey, IsPrimarykey = item.IsPrimarykey,

View File

@ -117,13 +117,13 @@ namespace SqlSugar
#region DDL #region DDL
public virtual bool AddPrimaryKey(string tableName, string columnName) public virtual bool AddPrimaryKey(string tableName, string columnName)
{ {
string sql = string.Format(this.AddPrimaryKeySql, tableName, string.Format("PK_{0}_{1}", tableName, columnName), columnName); string sql = string.Format(this.AddPrimaryKeySql,this.SqlBuilder.GetTranslationTableName(tableName), string.Format("PK_{0}_{1}", tableName, columnName), columnName);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }
public virtual bool AddColumn(string tableName, DbColumnInfo columnInfo) public virtual bool AddColumn(string tableName, DbColumnInfo columnInfo)
{ {
string sql = GetAddColumnSql(tableName, columnInfo); string sql = GetAddColumnSql(this.SqlBuilder.GetTranslationTableName(tableName), columnInfo);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }
@ -135,13 +135,13 @@ namespace SqlSugar
} }
public virtual bool CreateTable(string tableName, List<DbColumnInfo> columns) public virtual bool CreateTable(string tableName, List<DbColumnInfo> columns)
{ {
string sql = GetCreateTableSql(tableName, columns); string sql = GetCreateTableSql(this.SqlBuilder.GetTranslationTableName(tableName), columns);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }
public virtual bool DropTable(string tableName) public virtual bool DropTable(string tableName)
{ {
this.Context.Ado.ExecuteCommand(string.Format(this.DropTableSql, tableName)); this.Context.Ado.ExecuteCommand(string.Format(this.DropTableSql, this.SqlBuilder.GetTranslationTableName(tableName)));
return true; return true;
} }
public virtual bool DropColumn(string tableName, string columnName) public virtual bool DropColumn(string tableName, string columnName)
@ -151,13 +151,13 @@ namespace SqlSugar
} }
public virtual bool DropConstraint(string tableName, string constraintName) public virtual bool DropConstraint(string tableName, string constraintName)
{ {
string sql = string.Format(this.DropConstraintSql, tableName, constraintName); string sql = string.Format(this.DropConstraintSql, this.SqlBuilder.GetTranslationTableName(tableName), constraintName);
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; return true;
} }
public virtual bool TruncateTable(string tableName) public virtual bool TruncateTable(string tableName)
{ {
this.Context.Ado.ExecuteCommand(string.Format(this.TruncateTableSql, tableName)); this.Context.Ado.ExecuteCommand(string.Format(this.TruncateTableSql, this.SqlBuilder.GetTranslationTableName(tableName)));
return true; return true;
} }
public virtual bool BackupDataBase(string databaseName, string fullFileName) public virtual bool BackupDataBase(string databaseName, string fullFileName)

View File

@ -16,7 +16,11 @@ namespace SqlSugar
var mappingInfo = context var mappingInfo = context
.MappingTables .MappingTables
.FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase)); .FirstOrDefault(it => it.EntityName.Equals(name, StringComparison.CurrentCultureIgnoreCase));
return "[" + (mappingInfo == null ? name : mappingInfo.DbTableName) + "]"; name = (mappingInfo == null ? name : mappingInfo.DbTableName);
if (name.Contains("["))
return name;
else
return "[" + name + "]";
} }
public override string GetTranslationColumnName(string entityName, string propertyName) public override string GetTranslationColumnName(string entityName, string propertyName)
{ {