エンティティフレームワークからレコードを更新しようとすると、レコードがテーブルから削除されています。スローされたエラーはないので、実際に何が起こっているのか私は困惑しています。エンティティフレームワークMVCからレコードを更新しようとすると、データベースからレコードが削除されるのはなぜですか?
私はエンティティフレームワークとasp.netのかなり新しいです。私は今、約1ヶ月間それを学んできました。
私は、SQL Serverから問題なくレコードを更新しなく対からここでDBを更新するためのコードであることができます:私はcrs_monthlyデバッガを実行すると
// GET: /Scorecard/Edit/5
public ActionResult Edit(int id, string EmployeeName)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
CRS_Monthly crs_monthly = GetAgentById(id);
crs_monthly.EmployeeName = EmployeeName;
if (crs_monthly == null)
{
return HttpNotFound();
}
return View(crs_monthly);
}
// POST: /Scorecard/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include="REC_ID,Cur_Plan,Plan_Update,Comments,Areas_Improve,Strengths,UPDATED_BY,UPDATED_TIME,Agent_Recognition")] CRS_Monthly crs_monthly)
{
if (ModelState.IsValid)
{
crs_monthly.UPDATED_TIME = DateTime.Now;
crs_monthly.UPDATED_BY = Request.LogonUserIdentity.Name.Split('\\')[1];
db.Entry(crs_monthly).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(crs_monthly);
}
は有効であり、デシベルまで正常に見えます。変更内容を保存()。どんな助けでも大歓迎です!
たとえば、 'SELECT COUNT(*)'を前後に実行すると、テーブルに1つ少ないレコードしかありませんか?おそらく、予期しない何かに更新されているのではなく、削除されている可能性があります。 –