2012-02-24 16 views
3

モデル:親子関係のカスケード削除を指定しますか?

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)を追加しようとしたが、私はエラーを得ました。カスケード削除を可能にするためにマッピングをどのように更新する必要がありますか?したがって、親を削除すると、すべての子が削除されます。これは手動で行う必要がありますか?

+0

何かエラーがありますか? –

答えて

2

お使いのモデルでは、関連付けのプロパティを確認してください。カスケードに設定できるOnDeleteがあります。 XMLは次のようになります。

<OnDelete Action="Cascade" /> 
+0

私はコードファーストを使用していますので、これが大いに役立つかどうかはわかりません。 – DDiVita

関連する問題