Укажите каскадное удаление для родительских / дочерних отношений? - PullRequest
3 голосов
/ 24 февраля 2012

Модель:

public class MenuItem
{
    public Guid Id {get;set;}
    public virtual Guid? ParentMenuItemId {get;set;}
    public virtual MenuItem ParentMenuItem {get;set;}
    public virtual ICollection<MenuItem> ChildMenuItems {get;set;}
}

текущее отображение:

HasOptional(m => m.ParentMenuItem).WithMany(p => p.ChildMenuItems).HasForeignKey(m => m.ParentMenuItemId);

Я попытался добавить WillCascadeOnDelete(true), но получил ошибку. Как я должен обновить свое сопоставление, чтобы разрешить каскадное удаление? Итак, если я удаляю одного из родителей, все дети будут удалены. Нужно ли делать это вручную?

1 Ответ

2 голосов
/ 24 февраля 2012

В вашей модели просто посмотрите на свойства ассоциации. Существует OnDelete, который вы можете установить в Cascade. XML должен выглядеть так:

<OnDelete Action="Cascade" />
...