2014-08-29 3 views
-1

ASP.NET MVC 4/C# Entity FrameworkУдаление родителя и ребенка объектов

Я получаю позорный «УДАЛИТЬ заявление в противоречие с ограничением REFERENCE» Ошибка при удалении родительского объекта из базы данных.

Я хочу, чтобы моя программа удаляла как родительский, так и его зависимости (а не только пустой внешний ключ для дочернего элемента). Мое исследование показало некоторую противоречивую информацию, и я не уверен, что проблема заключается в том, как я загружаю объект прямо перед удалением или если он имеет конфигурацию первой базы данных кода.

Чтобы уточнить, мой вопрос: как успешно выполнить каскадное удаление?

Вот упрощенная версия того, что у меня есть:

//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;} 
} 
Смежные вопросы