ویرایش حرفه‌ای رکورد با ViewModel در EF Core

تهران آی تی / برنامــه نویــسـی / ویرایش حرفه‌ای رکورد با ViewModel در EF Core

ویرایش حرفه‌ای رکورد با ViewModel در EF Core

تصور کنید در حال کار روی یک پروژه واقعی هستید. به شما وظیفه داده شده که فرمی برای ویرایش اطلاعات کاربران ایجاد کنید. اما باید مراقب باشید که فقط فیلدهای مجاز تغییر کنند و داده‌های حساس مثل نقش کاربر یا وضعیت حساب او تغییر نکنند. اینجاست که ViewModel به کمک شما می‌آید. ViewModel به شما این امکان را می‌دهد که داده‌ها را دقیقاً همان‌طور که نیاز دارید به View ارسال کنید و از تغییرات ناخواسته جلوگیری کنید. در ادامه با ویرایش حرفه‌ای رکورد با ViewModel در EF Core آشنا میشویم.

بارگذاری داده‌ها در ViewModel

برای ویرایش حرفه‌ای رکورد با ViewModel ابتدا داده‌ها را از دیتابیس بارگذاری کرده. و آن‌ها را به ViewModel تبدیل می‌کنیم. و بعد به سمت ویو ارسال میکنیم.

public async Task<IActionResult> Edit(int? Id)
{
if (Id == null)
{
return NotFound();
}
var DeveloperM = await _context.developers.FindAsync(Id);
if (DeveloperM == null)
{
return NotFound();
}
var DeveloperVM = new EditDeveloperViewModel()
{
Id = DeveloperM.Id,
Email = DeveloperM.Email,
Phone = DeveloperM.Phone,
};
return View(DeveloperVM);
}

پردازش فرم در سرور

زمانی که فرم ارسال می‌شود. داده‌های ViewModel را دریافت کرده. و در دیتابیس ذخیره می‌کنیم.

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int Id, [Bind("Id,Email,Phone")] EditDeveloperViewModel DeveloperVM)
{
if (Id != DeveloperVM.Id)
{
return NotFound();
}
if (ModelState.IsValid)
{
try
{
var DeveloperM = await _context.developers.FindAsync(Id);
if (DeveloperM == null)
{
return NotFound();
}
DeveloperM.Email = DeveloperVM.Email;
DeveloperM.Phone = DeveloperVM.Phone;
_context.developers.Update(DeveloperM);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
catch (DbUpdateConcurrencyException)
{
if (!DeveloperExists(DeveloperVM.Id))
{
return NotFound();
}
else
{
throw;
}
}
}
return View(DeveloperVM);
}
private bool DeveloperExists(int Id)
{
return _context.developers.Any(a => a.Id == Id);
}

چرا از ViewModel در استفاده کنیم؟

  • امنیت داده‌ها: تنها داده‌هایی که در ViewModel تعریف شده‌اند، از سمت کاربر ارسال می‌شوند.
  • سادگی و خوانایی کد: ViewModel کدی ساده‌تر و قابل‌فهم‌تر ارائه می‌دهد.
  • جداسازی منطق داده‌ها: ViewModel منطق داده‌های دیتابیس را از View جدا می‌کند.

استفاده از ViewModel در EF Core 9 یک روش حرفه‌ای و امن برای مدیریت داده‌ها و عملیات CRUD مانند Edit است. این روش به شما کمک می‌کند کدی خوانا، ساختاریافته و امن‌تر بنویسید که در پروژه‌های واقعی کاربرد بسیاری دارد. در ادامه آموزش، به بررسی دیگر عملیات‌ها با ViewModel می‌پردازیم. همراه ما باشید!

جستجو کنید
دسترسی سریع
دسته ها

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد