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

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

در معماری MVC (Model-View-Controller)، مدیریت ارتباط بین View (رابط کاربری) و Model (مدل داده‌ای) اهمیت زیادی دارد. برای جلوگیری از ارسال مستقیم مدل‌های دیتابیس به View و بالعکس، از مفهومی به نام ViewModel استفاده می‌شود. این رویکرد به ما کمک می‌کند تا داده‌ها را ایمن‌تر و ساختاریافته‌تر مدیریت کنیم. در این آموزش، نحوه استفاده از ViewModel برای عملیاتCreate در EF Core 9 را به صورت مرحله‌به‌مرحله توضیح می‌دهیم. و با ایجاد حرفه‌ای رکورد با ViewModel در EF Core آشنا میشویم.

ایجاد Action برای نمایش فرم

public IActionResult Create()
{
    return View();
}

ایجاد Action برای دریافت داده‌ها

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(
    [Bind("Id,Name,Family,Phone,Email")] CerateDeveloperViewModel DeveloperVM)
{
    if (ModelState.IsValid)
    {
        var DeveloperM = new Developer()
        {
            Id = DeveloperVM.Id,
            Name = DeveloperVM.Name,
            Family = DeveloperVM.Family,
            Email = DeveloperVM.Email,
            Phone = DeveloperVM.Phone,
            RegisterDate = DateTime.Now
        };
        _context.Add(DeveloperM);
        await _context.SaveChangesAsync();
        return RedirectToAction("Index");
    }
    return View(DeveloperVM);
}
  • ابتدا داده‌های ViewModel را با ModelState.IsValid بررسی می‌کنیم.
  • در صورت معتبر بودن داده‌ها، ViewModel به موجودیت (Entity) تبدیل شده. و در دیتابیس ذخیره می‌شود.
  • پس از ذخیره موفقیت‌آمیز، کاربر به صفحه دیگری هدایت می‌شود.

نکات تکمیلی

  • اعتبارسنجی سمت کلاینت و سرور: اعتبارسنجی در ViewModel به صورت خودکار در سرور اجرا می‌شود. با استفاده از @section Scripts در View، اعتبارسنجی سمت کلاینت نیز فعال می‌شود.
  • مدیریت خطاها: اگر خطایی در ذخیره داده رخ دهد (مانند مشکلات دیتابیس)، باید به کاربر پیام مناسب نمایش داده شود.
  • استفاده از AutoMapper: برای پروژه‌های بزرگ‌تر، می‌توانید از کتابخانه AutoMapper برای تبدیل ViewModel به Entity استفاده کنید
  • قابلیت گسترش ViewModel: می‌توانید داده‌های اضافی مانند لیست دسته‌بندی‌ها را نیز در ViewModel قرار دهید.

جمع‌بندی ایجاد حرفه‌ای رکورد با ViewModel در EF Core

  • با استفاده از ViewModel در عملیات Create: امنیت داده‌ها افزایش می‌یابد.
  • ساختار کد تمیزتر و منظم‌تر می‌شود.
  • مدیریت و اعتبارسنجی داده‌ها ساده‌تر خواهد بود.
  • این روش نه‌تنها برای عملیات Create بلکه برای سایر عملیات (مانند Update) نیز به‌شدت توصیه می‌شود.

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

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

تماشای ویدیوی ایجاد حرفه‌ای رکورد با ViewModel در EF Core در آپارات و یوتیوب

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

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

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

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

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

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

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

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

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

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