1
因此即時獲得此免除 「附加類型爲'TimeTrackerProjectV2.Models.Project'的實體失敗,因爲另一個相同類型的實體已具有相同的主鍵值」 當我嘗試通過我的web應用程序編輯數據庫中的數據時。當試圖通過存儲庫編輯我的數據庫中的數據時獲取exeption
控制器代碼:
/ GET: Projects/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
return View(Repositories.ProjectsRepository.GetProject(id));
}
// POST: Projects/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "IdProject,Name,Number,Active")] Project project)
{
if (ModelState.IsValid)
{
Repositories.ProjectsRepository.EditProjects(project);
Repositories.ProjectsRepository.SaveProject();
return RedirectToAction("Index");
}
return View(project);
}
庫的代碼;
public static void EditProjects(Project project)
{
db.Entry(project).State = EntityState.Modified;
}
public static void SaveProject()
{
db.SaveChanges();
}
我已經搜查了互聯網,但大家的是,我發現了同樣的exeption,因爲他們使用武官所以它沒有真正適用於我的情況下有它。
我敢打賭,這與你的情況下沒有得到安置在每個請求之後做的。你可以通過使用'using'語句爲每個實例化來測試它。請參閱[this](https://stackoverflow.com/questions/23201907/asp-net-mvc-attaching-an-entity-of-type-modelname-failed-because-another-ent) –