iniziato una nuova applicazione ASP.NET MVC 3 e ottenere il seguente errore:Come eliminare un record con un vincolo di chiave esterna?
The primary key value cannot be deleted because references to this key still exist.
Come risolvere questo problema?
modelle (codice-prima 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; }
}
Configurazione controller
//
// 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");
}
DB
public class FoodJournalEntities : DbContext
{
public DbSet<Journal> Journals { get; set; }
public DbSet<JournalEntry> JournalEntries { get; set; }
}
Nel database è possibile scegliere l'opzione di eliminazione a cascata per la tabella padre? – Pankaj
La tua risposta potrebbe essere [qui] (http://stackoverflow.com/a/5522422/60761) già. In caso contrario, inserisci il codice DbSetup. È possibile rimuovere la vista. –
@PankajGarg - Ho verificato che il database abbia già questo set. –