2015-06-26 2 views
3

Я хочу, чтобы установить имя схемы базы данных для таблицы, но единственный способ сделать это с помощью метода ToTable:Установить имя схемы базы данных без установки имени таблицы

modelBuilder.Entity<MyEntity>().ToTable("MyTable", schemaName); 

Однако я не хочу, чтобы задать имя таблицы в явном виде мне нужно что-то вроде этого:

modelBuilder.Entity<MyEntity>().ToSchema(schemaName); 

Может ли кто-нибудь помочь мне с этим?

+1

могли бы вы подробнее рассказать о мотивации? Неясно, как объект будет использоваться без имени таблицы. – jbl

+0

Я написал «явно», неявно будет указано имя tablename. – cosset

+0

Пользовательские соглашения отложены, не будет ли это то же самое, что ToTable (typeof (MyEntity) .Name, schemaName)? – jbl

ответ

-1

Используя этот метод расширения:

using System.Data.Entity.ModelConfiguration; 
public static class ModelConfigurationHelper 
{ 
    public static EntityTypeConfiguration<T> ToSchema<T>(this EntityTypeConfiguration<T> config, string schema) 
    { 
     return config.ToTable(typeof(T).Name, schema); 
    } 
} 

вы можете сделать:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<MyEntity>().ToSchema("someSchema); 
} 
Смежные вопросы