【发布时间】:2013-09-09 15:45:00
【问题描述】:
我有默认方案,您有 Category 本身、RootCategory 和 ChildCategories。如何指定我的流利模型构建器在删除时级联所有子类别?
型号
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
public virtual Category RootCategory { get; set; }
public virtual ICollection<Category> ChildCategories { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
我尝试过的
我曾尝试使用流畅的模型构建器,但是当我尝试更新数据库时,这个会出错。
引入 FOREIGN KEY 约束 表上的“FK_dbo.Categories_dbo.Categories_RootCategory_Id” “类别”可能会导致循环或多个级联路径。指定开 DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Category>().HasOptional(x => x.RootCategory).WithMany(x => x.ChildCategories).WillCascadeOnDelete(true);
}
【问题讨论】:
标签: c# asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-5