EF6.0 在实体映射数据库表的时候给表追加前缀
第一种方式:
public class ProductContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entities().Configure(entity => entity.ToTable("Shop_" + entity.ClrType.Name)); } }
第二种方式:
public class DefaultTableConvention
: IConfigurationConvention<Type, EntityTypeConfiguration>
{
public void Apply(
Type type,
Func<EntityTypeConfiguration> configuration)
{
TableAttribute[] tableAttributes = (TableAttribute[])type.GetCustomAttributes(typeof(TableAttribute), false);
if (tableAttributes.Length == 0)
{
configuration().ToTable("Shop_" + type.Name);
}
}
}
public class ProductContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Add<DefaultTableConvention>();
}
}
浙公网安备 33010602011771号