У меня есть две таблицы в существующей (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 при удалении плана, но я неуверен, как это сделать.Кажется, я не могу вызвать метод WillCascadeOnDelete с помощью методов HasMany / WithMany.
Чего мне здесь не хватает?