我有一个 Booking 类,它有一个预订联系人 (a Person
) 和一组导航属性 ( ) People
,它们通过连接表链接到. 如何生成为预订联系关系启用了级联删除的表?当我将其排除在流畅的 API 代码之外(启用级联删除的默认设置)时,我从迁移中收到以下错误消息:Bookings
Person
Booking
在表“BookingPeople”上引入 FOREIGN KEY 约束“FK_dbo.BookingPeople_dbo.People_PersonID”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束或索引。请参阅以前的错误。
modelBuilder.Entity<Person>()
.HasMany<Booking>(s => s.aBookings)
.WithRequired(s => s.Contact)
.HasForeignKey(s => s.ContactId);
modelBuilder.Entity<Booking>()
.HasMany(t => t.People)
.WithMany(t => t.Bookings)
.Map(m => {
m.ToTable("BookingPeople");
m.MapLeftKey("BookingID");
m.MapRightKey("PersonID");
});