【发布时间】:2011-05-08 15:59:06
【问题描述】:
我在现有 (MSSQL 2008 R2) 数据库中有两个表,它们通过链接表关联。
这两个表是“计划”和“提示”。链接表是“PlanTipLinks”。
计划可以有许多提示,提示可以与多个计划相关联(即,它是多对多的关系)。在应用程序中,我只关心“Plan.Tips”关系。我不需要 Tip.Plans 反向关系。
链接表中的外键引用不能为空。
我正在使用以下流畅的 API 代码来映射这种关系:
modelBuilder.Entity<Plan>()
.HasMany(p => p.Tips)
.WithMany()
.Map("PlanTipLinks", (p, t) =>
new
{
PlanId = p.Id,
TipId = t.Id
});
这会在表中创建正确的条目。问题是,当我删除计划时,PlanTipLinks 表上出现外键异常。
大概我需要告诉它在删除计划时级联到PlanTipLinks 表中,但我不知道该怎么做。我似乎无法使用 HasMany/WithMany 方法调用 WillCascadeOnDelete 方法。
我在这里错过了什么?
【问题讨论】:
标签: entity-framework foreign-keys cascade fluent-interface cascading-deletes