Как удалить запись с ограничением внешнего ключа?

Запустил новое приложение ASP.NET MVC 3 и получил следующую ошибку:

Значение первичного ключа не может быть удалено, поскольку ссылки на этот ключ все-еще существует.

Как это решить?

Модели (сначала код EF)

public class Journal
{
    public int JournalId { get; set; }
    public string Name { get; set; }
    public virtual List<JournalEntry> JournalEntries { get; set; }
}
public class JournalEntry
{
    public int JournalEntryId { get; set; }
    public int JournalId { get; set; }
    public string Text { get; set; }
}

Контроллер

//
// POST: /Journal/Delete/5

[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{            
    Journal journal = db.Journals.Find(id);
    db.Journals.Remove(journal);
    db.SaveChanges(); // **exception occurs here**
    return RedirectToAction("Index");
}

Настройка БД

public class FoodJournalEntities : DbContext
{
    public DbSet<Journal> Journals { get; set; }
    public DbSet<JournalEntry> JournalEntries { get; set; }
}
9
задан O.O 17 March 2012 в 18:16
поделиться