У меня есть что-то вроде этого:EF 6 - Каскадное удаление на один ко многим без обратной ссылки
public class Gadget {
public int Id { get; set; }
public string Name { get; set;}
public int SuperHeroId { get; set; }
}
public class SuperHero {
public int Id { get; set; }
public virtual ICollection<Gadget> Gadgets { get; set; }
}
Обратите внимание, что в то время как гаджет «принадлежит» супергероя (и, следовательно, есть более FK в базе данных), моя модель домена не имеет жесткой ссылки в этом направлении.
Когда я удаляю супергероя, я хотел бы также удалить все их гаджеты. Как мне это сделать?
Мое исследование указывает на то, что если бы я имел эту ссылку на это было бы что-то вроде
mapping.Entity<SuperHero>()
.HasMany(x => x.Gadgets)
.WithRequired(x => x.SuperHero) //this is the part I can't do
.WillCascadeOnDelete();
, но, как уже отмечалось, что не работает с моей моделью предметной области.
Вы не можете создать твердую ссылку? –
Нет - В моем случае это было бы плохой дизайн. –