عملیات CRUD در ASP.NET Core MVC وبروزرسانی دات نت فریمورک – جلسه ۴۸

CRUD Repository & .NET Framework Upgrade - Session48

در این جلسه قصد داریم به پیاده سازی عملیات CRUD در ASP.NET Core MVC بپردازیم. به علاوه، در ادامه این جلسه، دات نت فریمورک وب اپلیکیشن خود را بروزرسانی خواهیم کرد. ما دراین جلسه اینترفیس و ریپازیتوری مدل Cost خود را تکمیل خواهیم کرد تا عملیات CRUD که مخفف Create, Read, Update و Delete خواهد بود را انجام دهد. عملیات CRUD در واقع به عملیات اصلی ایجاد، خواندن، بروزرسانی و حذف داده در پایگاه داده و یا داده ایستا گفته میشود. همچنین در این جلسه علاوه بر تکمیل ریپازیتوری ایستا، مدل Cost یک ریپازیتوری برای انجام عمیات ذکر شده بروی پایگاه داده SQL را ایجاد خواهیم کرد.

عملیات CRUD چیست؟

کلمه CRUD مخفف کلمات Create, Read, Update و Delete میباشد که همان عملیات اصلی بروی داده ها میباشد. در واقع به مجموع عملیات ایجاد، خواندن، بروزرسانی و حذف داده بروی پایگاه داده عملیات CRUD گفته میشود.

ایجاد اینترفیس و ریپازیتوری برای عملیات CRUD در ASP.NET Core MVC

ما در جلسات پانزدهم و شانزدهم از این دوره آموزشی در خصوص اینترفیس (Interface)، ریپازیتوری (Repository) و تزریق وابستگی (Dependency Injection) با جزیئات کامل صحبت نمودیم. حال در این جلسه قصد داریم تا اینترفیس مربوط به مدل Cost را به گونه‌ایی تکمیل نماییم تا تمامی عملیات CRUD را پشتیبانی نماید.

همانگونه که مشاهده مینمایید ما برای عملیات نوشتن، خواندن، بروزرسانی و حذف، متدهایی را درون ICostRepository که یک اینترفیس (Interface) میباشد تعریف نمودیم.

حال به پیاده‌سازی تمامی متدهای تعریف شده در ریپازیتوری StaticCostRepository خواهیم پرداخت.

نوشتن بروی داده‌های ایستا.

خواندن داده‌ از اطلاعات ایستا (بازیابی تمامی رکوردها و یا یک رکورد با شناسه خاص).

بروزرسانی اطلاعات بروی داده‌های ایستا.

حدف یک رکورد از داده ایستا.

کد کامل مربوط به ریپازیتوری StaticCostRepository.

ایجاد ریپازیتوری برای انجام عملیات CRUD بروی SQL Server

برای انجام عملیات نوشتن، خواندن، بروزرسانی و حذف بروی پایگاه داده SQL Server ابتدا میبایست مدل مورد نظر را به صورت یک خصوصیت DbSet به DBContext وب اپلیکیشن خود اضافه نماییم.

حال یک کلاس درون پوشه Models برای ریپازیتوری مورد نظر ایجاد میکنیم. این کلاس هم میبایست از اینترفیس مربوطه ارث‌بری داشته باشد. همچنین برای ارتباط با پایگاه داده میبایست DBContext را بوسیله سازنده (Constructor) به کلاس تزریق نماییم.

سپس اقدام به پیاده‌سازی تمامی متدهای مورد نیاز مینماییم.

کد مربوط به عملیات نوشتن درون پایگاه داده.

کد مربوط به عملیات خواندن (تمامی رکوردها و یک رکورد با مشخصه ها) از پایگاه داده.

برای به بروزرسانی داده در پایگاه داده از دو روش میتوان استفاده نمود:

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

روش دوم، پیوست کردن داده‌های جدید و تغییر وضعیت آن به حالت Modified.

سورس کد کامل مربوط به SQLServerCostRepository.

تغییر ریپازیتوری فعال

ما قبلا در خصوص تعریف ریپازیتوری (Repository) فعال در جلسات گذشته صحبت نموده‌ایم. در این جلسه همچنین به شما نشان خواهیم داد که چگونه به سادگی و با کمک تزریق وابستگی میتوان با توجه به نیاز خود، ریپازیتوری فعال را تغییر دهیم. به این منظور میبایست تغییراتی در کلاس Startup و متد ConfigureServices اعمال نماییم.

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

بروزرسانی دات نت فریمورک

برای بروزرسانی دات نت فریمورک (Upgrade .NET Framework) یک وب اپلیکیشن ASP.NET Core MVC میتوانید از این لینک که برای بروزرسانی از نسخه 5 به نسخه 6 میباشد کمک بگرید. اما به صورت کلی شرایط بروزرسانی با توجه به محیط توسعه و سیستم‌عامل کامپیوتر شما متفاوت میباشد.

بروزرسانی دات نت فریمورک

در تصویر فوق، شرایط بروزرسانی دات نت فریمورک در شرایط مختلف بیان گردیده است. از آنجایی که ما از سیستم‌عامل ویندوز و ویژوال استدیو استفاده میکنیم، میبایست نسخه ویژوال استدیو خود را به 2022 تغییر دهیم. سپس از قسمت Properties وب اپلیکشن خود Framework Target را در قسمت Application-General به نسخه 6 تغییر میدهیم.

Web Application Properties

همچنین برای کارآیی بهتر وب‌اپلیکیشن خود و سازگاری با فریمورک جدید بهتر است NuGet Packageهای نصب شده را نیز بروزرسانی نمایید. در ویدیو آموزشی این جلسه میتوانید روش بروزرسانی NuGet Package ها را نیز مشاهده نمایید.

در صورت نیاز به جزئیات بیشتر، میتوانید ویدئو آموزشی این جلسه را تماشا نمایید. همچنین برای آگاهی از جلسات بعدی این دوره آموزشی، ما را در اینستاگرام، تلگرام، یوتیوب و آپارات دنبال کنید. ضمنا لیست کامل جلسات در این قسمت در دسترس شما میباشد و سورس کد این جلسه را میتوانید از GitHub ما دانلود نمایید.

تماشای ویدیو در یوتیوب ما

دانلود اسلایدهای آموزشی این جلسه از اینجا

برچسب ها

0 0 رای ها
امتیازدهی به مقاله
guest

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
افکار شما را دوست داریم، لطفا نظر دهید.x