2013-06-14 16 views
6

Mam User-Role wiele do wielu relacji, określony przez ten fragment z EntityTypeConfiguration<Role> klasy pochodnej, która pozwala mi specifiy schematów dla pojedynczych tabel, npJak określić schemat dla tabeli relacji wielu do wielu?

[Schema(SchemaNames.ParkPay)] 
class WeekDayConfig : EntityTypeConfigurationWithSchema<WeekDay> 
{ 
    internal WeekDayConfig() 
    { 
     Ignore(t => t.IsDeleted); 
     Property(p => p.Name) 
      .IsRequired() 
      .HasMaxLength(20); 
    } 
} 

Teraz, Role konfiguracja klasa zawiera ten kod, a wynikowa tabela UserRole jest tworzona w schemacie "dbo", a nie w moim pożądanym schemacie. Jest to kod:

[Schema(SchemaNames.ParkPay)] 
internal class RoleConfig : EntityTypeConfigurationWithSchema<Role> 
{ 
    public RoleConfig() 
    { 
     HasMany(t => t.Users) 
      .WithMany(t => t.Roles) 
      .Map(m => 
        { 
         m.ToTable("UserRole");        
         m.MapLeftKey("RoleId"); 
         m.MapRightKey("UserId"); 
        }); 
    } 
} 

Czy mogę coś zrobić, z wyjątkiem scenariusza zmiana schematu podczas fazy siewu inicjalizacji, aby mieć tabelę UserRole utworzony w ramach „parkpay” schematu, a nie „dbo” schematu?

+2

Próbowałeś tego? Wygląda na przeciążenie 'ToTable': http://stackoverflow.com/questions/6028375/entity-framework-code-first-many-to-many-setup-for-isting-tables – rliu

Odpowiedz

10

ja nie rozumiem, dlaczego to nie działa:

public RoleConfig() 
{ 
    HasMany(t => t.Users) 
    .WithMany(t => t.Roles) 
    .Map(m => 
    { 
     m.ToTable("UserRole","parkpay");        
     m.MapLeftKey("RoleId"); 
     m.MapRightKey("UserId"); 
    }); 
} 
+1

Ja też nie, i to robi . Dzięki, ominęłam to przeciążenie. – ProfK

+0

Czy istnieje sposób DataAnnotations to zrobić? – RoLYroLLs

Powiązane problemy