我以前做過這個,但由於某種原因無法讓它在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; }
}
我想要一個RestaurantsBeers表或任何只有RestaurantId和BeerId。
當我使用普通的Code First方式通過運行它的應用程序來創建它時。雖然
使用遷移,它不會產生該表。
我跑Enable-Migrations
然後Add-Migration FirstDb
終於Update-Database
......沒有骰子...
也試過這個...
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