2017-02-08 10 views
3

Использование .NET Entity Framework Code First У меня есть две простые модели:Entity Framework ICollection создает внутреннюю таблицу

public class Car 
{ 
    public int CarId { get; set; } 

    public ICollection<Location> Locations { get; set; } 
} 

public class Location 
{ 
    public int LocationId { get; set; } 

    public ICollection<Car> Cars { get; set; } 
} 

Doing это третья таблица создается с именем: LocationCars.

Есть ли способ настроить имя этой сгенерированной таблицы?

Большое спасибо

ответ

1

Да, вы должны использовать FluentApi настраивать многие-ко-многим

от turorial

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder.Entity<Car>() 
       .HasMany(c => c.Locations) 
       .WithMany(l => l.Cars) 
       .Map(cl => 
         { 
         cl.MapLeftKey("CarId"); 
         cl.MapRightKey("LocationId"); 
         cl.ToTable("YOUR_TABLE_NAME"); 
         }); 
} 
0

Вы можете создать вручную многие-ко-многим :

modelBuilder.Entity<Car>() 
    .HasMany(c => c.Locations) 
    .WithMany() 
    .Map(l => l.MapLeftKey("CarId").MapRightKey("LocationId").ToTable("TableNameHere")); 

 Смежные вопросы

  • Нет связанных вопросов^_^