私は以前これを行っていますが、何らかの理由でEF5で動作させることができません。 EF5コード最初に多数のマイグレーションがある
は、通常、それだけで自動的にpublic class Beer
{
public int Id { get; set; }
public virtual ICollection<Restaurant> Restaurants { get; set; }
}
public class Restaurant
{
public int Id { get; set; }
public virtual ICollection<Beer> Beers { get; set; }
}
私はちょうどRestaurantIdとBeerIdでRestaurantsBeersテーブルまたは何を望んでいます...私はこのような多くの関係に多くを持っていたときにピックアップします。
アプリケーションを実行するだけで通常のコードファーストの方法で作成すると機能します。マイグレーションを使用して
しかし、それは、そのテーブルを作成することはありません。
私はAdd-Migration FirstDb
その後、Enable-Migrations
を実行し、最終的にUpdate-Database
...ないサイコロ...
はまた、新たなM2M関係を作成するために...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Beer>()
.HasMany(b => b.Restaurants)
.WithMany(a => a.Beers)
.Map(m => m.MapLeftKey("BeerId")
.MapRightKey("RestaurantId")
.ToTable("BeersRestaurants"));
}
あなたの関係でforeignKey属性を使用する必要があると思うなら、これは多対多の関係を拾うべきです。私はいつもその属性を使用しており、とにかく問題に陥ることはありません。 – davethecoder