در این قسمت از دوره پیشرفته Entity Framework Core 9 به عملیات Update در EF Core میپردازیم. در Entity Framework Core 9، عملیات Update یکی از بخش های CRUD است. که به صورت بسیار کارآمدی پیادهسازی میشود و میتوان از قابلیتهای پیشرفتهی آن بهره برد. عملیات CRUD در دنیای برنامهنویسی به چهار عملیات اصلی برای مدیریت دادهها اشاره دارد. در این آموزش عملیات Update را مورد برسی قرار میدهیم.
برای ویرایش یک فیلد به دو متد نیاز است. یکی از نوع Post و یکی از نوع Get. از Get برای نمایش اطلاعات استفاده میشود. از Post برای دریافت اطلاعات استفاده میشود.
public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var appUser = await _context.appUsers.FindAsync(id);
if (appUser == null)
{
return NotFound();
}
return View(appUser);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, [Bind("Id,Name,Family,City,Gender")] AppUser appUser)
{
if (id != appUser.Id)
{
return NotFound();
}
if (ModelState.IsValid)
{
try
{
_context.Update(appUser);
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!AppUserExists(appUser.Id))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToAction(nameof(Index));
}
return View(appUser);
}
private bool AppUserExists(int id)
{
return _context.appUsers.Any(e => e.Id == id);
}