私はMVCには新しく、カスケード削除には問題があります。私のモデルI以下の2クラスの場合:MVC .NetカスケードEFコードを使用しているときの削除First Approach
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; }
}
そして、私のコントローラのために私は彼が戻って削除ポストに次のように設定します。
[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");
}
問題は、それは文句を言わないどんな仕事しないです。 I read this postしかし、私は関係が1対1であるモデルのためだけに働くように見えるので、私はここで失われている、私はどこでも検索があり、何かが欠けていることを指摘できる場合、この問題の解決策を見つけることができないそれは本当に素晴らしいだろう:)前もって感謝し、再び、私のnooobnessを赦す私はちょうど始めているが、たくさんのことを学ぶことができる大きなプロジェクトに取り組みたい。
public ActionResult Delete(int id)
{
try {
Products products = context.Products.Single(x => x.productId == id);
return View(products);
}
catch (Exception ex)
{
ModelState.AddModelError("",ex.Message);
CompileAndSendError(ex);
return View(new Products());
}
}
//
// POST: /Products/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
try {
Products products = context.Products.Single(x => x.productId == id);
context.Products.Remove(products);
context.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception ex)
{
ModelState.AddModelError("",ex.Message);
CompileAndSendError(ex);
return RedirectToAction("Index");
}
}
よろしく! :D、ありがとう、それは働いた!、ありがとう、私はちょうど流暢なAPIを認識していませんでしたが、このようなことを行う良い方法のように思えますが、私はデータの注釈でこの動作を得ることができますか? –
@Q_roデータアノテーションには機能が限定されています。 – Eranga