在Entity Framework中启用级联删除,有两个可选项 - >所需的外键

时间:2018-06-17 16:21:13

标签: c# entity-framework-6

我的配置类似于

public class UserModel {
    public User() {}

    [Key, Required]
    public string id { get; set; }

    [ForeignKey("ContactDetails")]
    public int? ContactDetailsId { get; set; }

    public virtual ContactDetailsModel ContactDetails { get; set; }

    [ForeignKey("NextOfKinContactDetails")]
    public int? NextOfKinContactDetails { get; set; }

    public virtual ContactDetailsModel NextOfKinContactDetails { get; set; }
}

public class ContactDetailsModel {

    [Key, Required]
    public int Id { get; set; }

    public string name { get; set; }

    // Address, Stuff, Blah
}

我希望每当指定的id设置为null时删除联系人详细信息。我知道我将不得不改变这一点,因为当ContactDetailsModel应该是子节点并且包含外键而UserModel是父节点时,我将UserModel作为子节点,否则级联删除将是错误的方式。

问题是,如果我确实改变了它,我似乎无法找到一种方法来允许UserDodel两次使用ContactDetailsModel。

有人有想法吗?

0 个答案:

没有答案