0
ModelState
が有効でない場合、データベースから何かを取り出してモデルに戻す必要がありますが、using
を使用することができないようです。DbContextを使用してモデルを使用してビューを返す場合
だから、このコードは動作します:
[HttpPost]
public ActionResult EditProduct(ProductVM productVM, HttpPostedFileBase file)
{
// Check model state
if (!ModelState.IsValid)
{
Db db = new Db();
productVM.Categories = new SelectList(db.Categories, "Id", "Name");
return View(productVM);
}
return View(productVM);
}
そして、このコードは、次のエラーがスローされます。
The operation cannot be completed because the DbContext has been disposed.
[HttpPost]
public ActionResult EditProduct(ProductVM productVM, HttpPostedFileBase file)
{
// Check model state
if (!ModelState.IsValid)
{
using (Db db = new Db())
{
//Db db = new Db();
productVM.Categories = new SelectList(db.Categories, "Id", "Name");
}
return View(productVM);
}
return View(productVM);
}
は私が何とかusing
を使用し、まだそれが動作することはできますか?
試し 'db.Categories.ToList();' – Berkay
が動作しているようです!それは、DbContextが処分されていることと何が関係していますか? – frc
あなたは本当に 'using'を必要としませんが、あなたがするなら' .ToList() 'または' .AsEnumerable() 'を使ってコレクションを具体化する必要があります –