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();
答案 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;}
}