删除父对象和子对象

时间:2014-08-29 13:49:15

标签: c# asp.net-mvc-4 entity-framework-6

ASP.NET MVC 4 / C# 实体框架

从数据库中删除父对象时,我收到臭名昭着的“DELETE语句与REFERENCE约束冲突”错误。

我希望我的程序删除父项及其依赖项(不仅仅是null子项上的外键)。我的研究显示了一些相互矛盾的信息,我不确定问题是我在删除之前如何加载对象,或者它是否是代码第一个数据库的配置。

为了澄清,我的问题是:如何成功实施级联删除?

以下是我所拥有的简化版本:

//Model
public class JobList
{
    public string jobName { get; set; }
    public double Price { get; set; }

public List<Options> option { get; set; }
    public JobList(){
    option = new List<Options>();
}

public class Options
{
    public JobList joblist { get; set; }
    [Key]
    public int id { get; set; }
    public double Price { get; set;}
}



//Controller
    JobList joblist = db.JobListDB.Find(id);
    db.JobListDB.Remove(joblist);
    db.SaveChanges();

1 个答案:

答案 0 :(得分:0)

显然写出你的问题可以帮助你找出自己的问题。我必须将外键设置为必需项以强制执行级联删除。对于那些有类似问题的人来说,这就是现在的代码:

//Model
public class JobList
{
    public string jobName { get; set; }
    public double Price { get; set; }

    public List<Options> option { get; set; }
    public JobList(){
    option = new List<Options>();
}

public class Options
{
    [Required]
    public JobList joblist { get; set; }
    [Key]
    public int id { get; set; }
    public double Price { get; set;}
}