نمایش حرفه‌ای لیست‌ با ViewModel در EF Core

نمایش حرفه‌ای لیست‌ با ViewModel در EF Core

در این آموزش به نمایش حرفه‌ای لیست‌ با ViewModel در EF Core میپردازیم. یکی از وظایف اصلی در هر پروژه‌ای که از EF Core 9 استفاده می‌کند، نمایش داده‌ها به صورت لیست در واسط کاربری است. در این آموزش، با بهره‌گیری از ViewModel، نحوه ساخت و نمایش لیست‌های بهینه و سازمان‌یافته را بررسی خواهیم کرد. در معماری MVC، ویو مدل یک لایه میانی بین مدل‌ و ویو است. که مزایای زیر را فراهم می‌کند:

  • ارسال فقط داده‌های ضروری به View
  • کاهش پیچیدگی و جلوگیری از ارسال داده‌های اضافی
  • افزایش خوانایی و مدیریت‌پذیری کد

پیاده‌سازی نمایش حرفه‌ای لیست‌ با ViewModel

داده‌ها را از دیتابیس بازیابی کرده و آنها را به ViewModel تبدیل می‌کنیم. این کار را می‌توان با استفاده از LINQ انجام داد.

public async Task<IActionResult> Index()
{
    var DeveloperM = await _context.developers.Select(a => new
    {
        a.Id,
        a.Name,
        a.Family,
        a.Email
    }).ToListAsync();
    List<ListDeveloperViewModel> developerVM = new List<ListDeveloperViewModel>();
    foreach (var item in DeveloperM)
    {
        developerVM.Add(new ListDeveloperViewModel
        {
            Id = item.Id,
            Name = item.Name,
            Family = item.Family,
            Email = item.Email
        });
    }
    return View(developerVM);
}

نکات مهم

  • بهینه‌سازی داده‌ها: از Include برای واکشی داده‌های مرتبط استفاده کنید تا نیازی به درخواست‌های اضافی به دیتابیس نباشد.
  • استفاده از DTO در پروژه‌های پیچیده: اگر نیاز به مدیریت بیشتر دارید. از DTO به‌عنوان لایه‌ای جداگانه بین مدل و ViewModel استفاده کنید.
  • کاهش بار واسط کاربری: از ارسال داده‌های اضافی یا پیچیده به View خودداری کنید.

نتیجه‌گیری

با استفاده از ViewModel، می‌توانید داده‌ها را به شکلی ساده‌تر و بهینه‌تر مدیریت و نمایش دهید. این روش به شما کمک می‌کند تا کدهای سازمان‌یافته‌تری داشته باشید و تجربه کاربری بهتری ارائه دهید. در بخش بعدی، به بررسی نحوه پیاده‌سازی فیلتر و جستجو در این لیست‌ها می‌پردازیم.

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

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

تماشای ویدیوی نمایش حرفه‌ای لیست‌ با ViewModel در EF Core در آپارات و یوتیوب

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

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

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

نظرات ارزشمند شما

نظرات شما برای ما ارزشمند است و آنها را میخوانیم و پاسخ میدهیم.

تصویر abol

من بعد از ران کردن پروژه در در حلقه فور ایچ در ویوی ایندکس کنترلر دولوپر خطای
System.NullReferenceException: 'Object reference not set to an instance of an object.'
دریافت کردم

تصویر محمدرضا احدیان

خطای System.NullReferenceException: 'Object reference not set to an instance of an object.' نشان‌دهنده این است که در کد شما سعی شده است به یک شیء دسترسی پیدا شود که مقدار آن null است.
میتوانید به صورت زیر مقدار Null را برسی کنید
<code>Name = item.Name ?? "No Name",
Family = item.Family ?? "No Family",
Email = item.Email ?? "No Email"</code>

تصویر abol

سوالم اصلاح میکنم
من بعد از ران کردن پروژه بر روی مدل(model) در حلقه فور ایچ در ویوی ایندکس کنترلر دولوپر خطای
System.NullReferenceException: ‘Object reference not set to an instance of an object.’
دریافت کردم
کد:
@foreach (var item in Model) {

Html.DisplayFor(modelItem => item.Name ?? "NoName") @

Html.DisplayFor(modelItem => item.Family ?? "NoNamily") @

Html.DisplayFor(modelItem => item.Email ?? "NoEmail") @

تصویر محمدرضا احدیان

پروژه خود را زیپ و ایمیل کنید تا مورد برسی قرار بدم.

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

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

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

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