小编Zar*_*dan的帖子

级联删除与实体框架和TPT

我有一个Base类,一个Derived类,Derived有一个Items集合.我想配置EF以在删除其父Derived时删除Items.

下面的最小(LinqPad)示例显示了我是如何尝试实现的,但它不会生成on delete cascade部分,只是常规FK.

我试过[必需]属性 - 没有用.

如何让它为FK规范添加删除级联选项?

[System.ComponentModel.DataAnnotations.Schema.Table("Bases")]
public class Base
{
    public int Id {get;set;}
    public string Name {get; set;}
}
[System.ComponentModel.DataAnnotations.Schema.Table("Derived")]
public class Derived : Base
{
    public virtual ICollection<Item> Items {get;set;}

    public Derived()
    {
        Items = new HashSet<Item>();
    }
}

public class Item 
{
    public int Id {get;set;}

    public int ParentId {get;set;}
    public Derived Parent {get;set;}
}

public class TestDbContext : System.Data.Entity.DbContext
{
    public System.Data.Entity.DbSet<Base> Bases { get; set; }
    public System.Data.Entity.DbSet<Derived> Derived { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

5
推荐指数
0
解决办法
324
查看次数

标签 统计

c# ×1

entity-framework ×1