2014-08-29 116 views
-1

ASP.NET MVC 4/C# 实体框架删除父和子对象

从数据库中删除父对象时,我得到了臭名昭著的“DELETE语句冲突与基准约束”的错误。

我想我的程序删除父和它的依赖关系(不只是空的子对外键)。我的研究已经显示了一些冲突的信息,我不确定问题是如何在删除之前加载对象,或者如果它是代码第一个数据库的配置。

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

这里是什么,我有一个简化版本:

//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(); 

回答

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;} 
}