Код первым изменяет имя таблицы сущности моста - PullRequest
2 голосов
/ 25 января 2012

Есть ли способ управления именем таблицы, создаваемой сущностью моста? Прямо сейчас, если я запущу это:

public class Foo
{
    public Int32 FooId { get; set; }
    public virtual ICollection<Bar> Bars { get; set; }
}

public class Bar
{
    public Int32 BarId { get; set; }
    public virtual ICollection<Foo> Foos { get; set; }
}

Результирующая таблица мостов называется BarFoo, есть ли способ сделать ее FooBar?

Ответы [ 2 ]

5 голосов
/ 25 января 2012

Вы можете настроить имя таблицы, сопоставив ее следующим образом.

public class MyContext : DbContext
{    
     protected override void OnModelCreating(DbModelBuilder modelBuilder)
     {
         modelBuilder.Entity<Foo>()
           .HasMany(e => e.Bars)
           .WithMany(s => s.Foos)
           .Map(l =>
             {
                l.ToTable("FooBar");
                l.MapLeftKey("FooId");
                l.MapRightKey("BarId");
             }
           );
    }
}
1 голос
/ 25 января 2012

Взгляните на EntityTypeConfiguration и свободный конфиг api. Там есть метод HasMany (), который должен делать то, что вы хотите.

...