【发布时间】:2015-05-17 16:44:47
【问题描述】:
我有一个 Booking 类,它有一个预订联系人 (a Person) 和一组导航属性 (People),它们通过连接表链接到 @987654324 中的另一组导航属性 (Bookings) @。如何生成为预订联系关系启用级联删除的Booking 表?当我将其排除在流畅的 API 代码之外(启用级联删除的默认设置)时,我从迁移中收到以下错误消息:
引入 FOREIGN KEY 约束 表“BookingPeople”上的“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");
});
【问题讨论】:
标签: c# sql-server entity-framework ef-fluent-api