نمایش جزئیات با ViewModel در EF Core

نمایش جزئیات با ViewModel در EF Core یک بخش جذاب و کلیدی در پروژه‌های EF Core 9 میباشد. این قسمت به ما این امکان را می‌دهد که اطلاعات خاصی را از دیتابیس استخراج کرده و به شکل کاربرپسند به نمایش بگذاریم. عملیات Details معمولاً در صفحات مشاهده جزئیات یک رکورد استفاده می‌شود. اما نکته‌ای که می‌خواهیم در این جلسه به آن توجه کنیم، این است که چگونه از ViewModel برای بهبود نحوه نمایش این اطلاعات استفاده کنیم.

ViewModel ابزاری است که به ما کمک می‌کند تا مدل‌های پیچیده‌تری از داده‌ها را برای نمایش در Viewها آماده کنیم. در این بخش، علاوه بر بررسی عملکرد عملیات Details، یاد می‌گیریم که چگونه می‌توانیم اطلاعات مورد نیاز را به صورت ساختارمند و بهینه‌تری به کاربر نمایش دهیم.

در ابتدا، ممکن است این سوال پیش بیاید که چرا باید از ViewModel استفاده کنیم وقتی که مدل اصلی خود را داریم؟ جواب ساده است: ViewModel به ما این امکان را می‌دهد که تنها اطلاعات مورد نیاز برای نمایش را در اختیار View قرار دهیم، بدون اینکه به دیتابیس درخواست‌های اضافی بزنیم یا از اطلاعات غیرضروری استفاده کنیم. این کار هم باعث بهینه شدن عملکرد اپلیکیشن می‌شود و هم کد ما تمیزتر و قابل نگهداری‌تر خواهد بود. حالا بیایید وارد جزئیات این عملیات بشویم و ببینیم که چه تغییراتی در کد و طراحی اپلیکیشن ایجاد می‌شود.

اکشن نمایش جزئیات با ViewModel

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

اکشن نمایش جزئیات و تایید حذف با ViewModel

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

Action حذف یک رکورد

[HttpPost]
[ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int Id)
{
    var DeveloperM = await _context.developers.FindAsync(Id);
    if (DeveloperM == null)
    {
        return NotFound();
    }
    _context.developers.Remove(DeveloperM);
    await _context.SaveChangesAsync();
    return RedirectToAction("Index");
}

مشاهده در آپارات یا یوتیوب

محتوای ویدیویی این صفحه در سایت قابل مشاهده است. اما اگر عادت دارید توی پلتفرم آپارات یا یوتیوب ویدیوها را مشاهده کنید، می‌توانید از دکمه‌های زیر استفاده کنید.

تماشای ویدیوی نمایش جزئیات با ViewModel در EF Core در آپارات و یوتیوب

اشتراک‌گذاری با یک کلیک

با یک کلیک، محتوای این صفحه را در شبکه‌های اجتماعی، ایمیل یا پیام‌رسان‌های مورد علاقه‌تان به‌سرعت به اشتراک بگذارید.

اشتراک‌گذاری صفحه نمایش جزئیات با ViewModel در EF Core در شبکه‌های اجتماعی

نظرات شما برای ما ارزشمند است

متاسفانه تاکنون پیامی برای این مطلب ثبت نشده است. شما اولین شخصی باشید که پیام می‌گذارد.

نظرات کاربران

فرم افزودن دیدگاه

با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.

با خدمات تهران آی تی آشنا شوید

تهران آی تی با افتخار خدمات زیر را ارائه می‌دهد.