相关疑难解决方法(0)

如何在自引用关系上设置级联?

我有默认场景,你有Category自己,RootCategoryChildCategories.如何指定我的流畅模型构建器以在删除时级联所有子类别?

模型

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; }
}
Run Code Online (Sandbox Code Playgroud)

我试过了什么

我试图使用流畅的模型构建器,但是当我尝试更新数据库时,这个会出错.

在表'类别'上引入FOREIGN KEY约束'FK_dbo.Categories_dbo.Categories_RootCategory_Id'可能会导致循环或多个级联路径.指定ON 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);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-5

6
推荐指数
1
解决办法
2037
查看次数

SQL Server:具有使用级联删除自身的外键的表

我需要一个表格表格来保存像这样的层次结构树数据(即大陆,国家,城市)

id  name    parent
-------------------
1   world   null
2   Europe  1
3   Asia    1
4   France  2
5   Paris   4
6   Lyon    4
Run Code Online (Sandbox Code Playgroud)

我要删除France,希望该表可以级联删除所有法国城市。但是当我像这样创建表时

create table locations 
(
    id int identity(1, 1),
    name varchar(255) not null,
    parent_id int,

    constraint pk__locations
        primary key clustered (id),

    constraint fk__locations
        foreign key (parent_id) 
            references locations (id)
                on delete cascade
                on update no action 
)
Run Code Online (Sandbox Code Playgroud)

我有一个错误

在表“位置”上引入外键约束“ fk__locations”可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。

信息说

  1. 指定ON DELETE NO ACTION-这正是我想要的
  2. 指定 …

t-sql sql-server

5
推荐指数
1
解决办法
741
查看次数

我应该使用外键在SQL中显示树关系

我试图在表格中建模树关系.例如,有"类别",类别本身可以在父类别中.

我的架构是:

id int PRIMARY KEY,
parent_id int,
name
Run Code Online (Sandbox Code Playgroud)

我的问题是,我应该将parent_id列标记为外键吗?外国意味着"外部"而不是自我参照.是否有不同类型的钥匙用于此目的?

我的问题类似于: MS SQL中的自引用约束,但我问的是另一个问题,级联不是问题.

sql database database-design foreign-keys foreign-key-relationship

3
推荐指数
2
解决办法
1805
查看次数