Sono piuttosto nuovo in MVC e ho problemi con l'eliminazione a cascata. Per il mio modello ho i seguenti 2 classi:MVC .Net Eliminazione in cascata quando si utilizza il primo approccio al codice EF
public class Blog
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[DisplayFormat()]
public virtual ICollection<BlogEntry> BlogEntries { get; set; }
public DateTime CreationDateTime { get; set; }
public string UserName { get; set; }
}
public class BlogEntry
{
[Key]
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Summary { get; set; }
[Required]
public string Body { get; set; }
public List<Comment> Comments { get; set; }
public List<Tag> Tags { get; set; }
public DateTime CreationDateTime { get; set; }
public DateTime UpdateDateTime { get; set; }
public virtual Blog ParentBlog { get; set; }
}
E per il mio controller ho impostato che seguendo il messaggio Elimina Indietro:
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
Blag blog = db.Blogs.Find(id);
foreach (var blogentry in blog.BlogEntries)
{
//blogentry = db.BlogEntries.Find(id);
db.BlogEntries.Remove(blogentry);
}
db.Blogs.Remove(blog);
db.SaveChanges();
return RedirectToAction("Index");
}
problema è che non funzionerà non importa quale; I read this post ma mi sembra che funzioni solo per i modelli in cui la relazione è uno a uno, quindi sono perso qui, ho ricerca ovunque e non riesco a trovare la soluzione per questo problema, se qualcuno potrebbe indicare cosa mi manca sarebbe davvero bello :), grazie in anticipo, e ancora una volta, perdonate la mia nooobness ho appena iniziato, ma volevo affrontare un grande progetto per essere in grado di imparare molto.
Yay! : D, grazie ha funzionato !, grazie mille, non ero a conoscenza dell'API fluente, ma mi sembra un buon modo per fare queste cose, tra l'altro, posso ottenere questo comportamento con le annotazioni dei dati ?. –
@Q_ro Le annotazioni dei dati hanno un numero limitato di funzioni. – Eranga