Tôi đã làm điều này trước đây, nhưng vì một lý do nào đó không thể làm cho nó hoạt động trong EF5.Mã EF5 Đầu Nhiều Nhiều với Di cư
Thông thường nó chỉ tự động nhặt khi tôi có nhiều đối với nhiều mối quan hệ như thế này ...
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; }
}
Tôi muốn một bảng RestaurantsBeers hoặc bất cứ điều gì chỉ với RestaurantId và BeerId.
Khi tôi tạo nó bằng cách sử dụng Mã thông thường Cách đầu tiên bằng cách chỉ chạy ứng dụng hoạt động.
Mặc dù di chuyển, nó sẽ không tạo bảng đó.
Tôi chạy Enable-Migrations
sau đó Add-Migration FirstDb
và cuối cùng Update-Database
... Không xúc xắc ...
Cũng cố gắng này ...
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"));
}
nghĩ rằng bạn cần phải sử dụng thuộc tính ForeignKey trên quan hệ của bạn, điều này sau đó sẽ nhận được nhiều đến nhiều mối quan hệ vv. Tôi đã luôn luôn sử dụng thuộc tính đó và không bao giờ chạy vào vấn đề anyway. – davethecoder