2014-08-29 113 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;} 
}