私は MVC を初めて使用し、編集したアクションの情報を保存する際に問題が発生しています。SaveChanges を試行するたびに 、更新、挿入、または削除ステートメントが予期しない数の行 (0) に影響しました。エンティティが読み込まれてから、エンティティが変更または削除された可能性があります。ObjectStateManager エントリを更新します。
これが私のコードです:
[Authorize]
[HttpPost]
public ActionResult Profile(designer thisDesigner)
{
if (ModelState.IsValid)
{
db.Entry(thisDesigner).State = System.Data.EntityState.Modified;
try
{
db.SaveChanges();
}
catch (Exception)
{
return View(thisDesigner);
}
}
return RedirectToAction("Profile");
}
また、新しいオブジェクトのクエリを実行してから、新しい値を設定して保存しようとしましたが、この場合、例外は発生しませんが、データは保存されません。コードは次のとおりです。
[Authorize]
[HttpPost]
public ActionResult Profile(designer thisDesigner)
{
designer updateDesigner = db.designers.Find(thisDesigner.designer_id);
if (ModelState.IsValid && updateDesigner != null)
{
db.Entry(updateDesigner).OriginalValues.SetValues(thisDesigner);
db.Entry(updateDesigner).State = System.Data.EntityState.Modified;
try
{
db.SaveChanges();
}
catch (Exception)
{
return View(thisDesigner);
}
}
return RedirectToAction("Profile");
}