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>();
}
}

  

posted on 2013-10-29 17:16  小泥人的医生  阅读(804)  评论(0)    收藏  举报