如何删除没有子类别的类别?如何删除没有子类别的类别
分类型号:
public class Category
{
public virtual int Id{ get; set; }
public virtual string Name { get; set; }
public virtual Category Parent { get; set; }
public virtual int? ParentId { get; set; }
}
DATAS:
Id ParentId Name
1 null Hot
2 1 Soup
3 1 Coffee
4 3 Decaf Coffee
5 null Cold
6 5 Iced Tea
我需要与Id=1
删除类别,但出现以下错误:
DELETE语句冲突以相同的表参考 约束“FK_dbo.Categories_dbo.Categories_ParentId”。冲突 发生在数据库“ProjectDatabase”,表“dbo.Categories”,列 'ParentId'。 该声明已被终止。
我删除代码:
public void Delete(int categoryId)
{
var category = _categories.First(d => d.Id == categoryId);
_categories.Remove(category);
}
CategoryConfig:
public class CategoryConfig : EntityTypeConfiguration<Category>
{
public CategoryConfig()
{
ToTable("Categories");
HasOptional(x => x.Parent)
.WithMany()
.HasForeignKey(x => x.ParentId)
.WillCascadeOnDelete(false);
}
}