我以前做过这个,但由于某种原因不能让它在 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"));
}