آموزش پروژه محور ASP.NET Core MVC و EF Core
آموزش پروژه محور ASP.NET Core MVC و EF Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم.
ASP.NET Core MVC چیست؟
ASP.NET Core بر پایهی NET Core. استوار است و نگارشی از NET. محسوب می شود که مستقل از سیستم عامل و بدون واسط برنامه نویسی ویندوز عمل می کند . ویندوز هنوز هم سیستم عاملی برتر به حساب می آید ولی برنامه های وب نه تنها روز به روز از کاربرد و اهمیت بیشتری برخوردار میشوند بلکه باید بر روی سکوهای دیگری مانند فضای ابری (Cloud) هم بتوانند میزبانی (Host) شوند، ماکروسافت با معرفی ASP.NET Core گستره کارکرد NET. را افزایش داده است . به این معنی که می توان برنامه های کاربردی ASP.NET Core را بر روی بازهی گسترده ای از محیطهای مختلف میزبانی کرد هماکنون میتوانید پروژه های وب را برای Linux یا macOS هم تولید کنید.
ASP.NET Core در مقایسه با MVC نخستین ، سادهتر شده و برخلاف آن هیچ ارتباطی با پروژه های Web Form ندارد و از آنجا که بر پایه NET Core. بنا شده است ایجاد پروژه های وب را بر روی بسیاری از سیستم عامل های گوناگون پشتیبانی کرده و امکان میزبانی در محیط های مختلف را داراست.
ASP.NET Core تمام امکانات ASP.NET MVC را بر پایه سکوی جدید فراهم میکند و افزودن بر این که شامل همهی کارایی های واسط کاربری وب است روش های طبیعیتری برای ایجاد محتوای پیچیده پیشنهاد میکند و امکان میدهد که بسیاری از کارهای کلیدی مربوط به توسعه ، مانند آزمایش های واحد یه سادگی انجام شوند.
ASP.NET Core MVC چیست و چگونه برای ساخت برنامه های وب استفاده می شود؟
ASP.NET Core MVC چارچوبی برای ساخت برنامههای وب بر پایه معماری Model-View-Controller است. در این معماری، Model مسئول نمایش دادهها و منطق مرتبط با آنهاست، View رابطی را که کاربر مشاهده میکند تعریف میکند و Controller درخواستها را دریافت کرده و جریان اجرای عملیات را مدیریت میکند. این جداسازی مسئولیتها باعث میشود ساختار برنامه منظمتر شود و توسعه دهندگان بتوانند بخشهای مختلف یک پروژه را با وابستگی کمتر به یکدیگر تغییر دهند.

در یک برنامه وب، کاربر ممکن است فهرستی از محصولات را مشاهده کند، اطلاعاتی را ثبت کند یا جزئیات یک سفارش را تغییر دهد. ASP.NET Core MVC امکان سازمان دهی این درخواستها و تولید پاسخ مناسب را فراهم میکند. استفاده از این چارچوب به توسعه دهنده کمک میکند مسیر دریافت درخواست، اجرای منطق برنامه و نمایش نتیجه را بهتر مدیریت کند. این ساختار برای پروژههایی که به صفحات پویا، فرمهای ورودی و تعامل با دادههای پایگاه داده نیاز دارند، کاربرد زیادی دارد.
Entity Framework Core چگونه دسترسی به پایگاه داده را ساده می کند؟
Entity Framework Core یک ORM برای .NET است که ارتباط میان اشیای برنامه و دادههای ذخیرهشده در پایگاه داده رابطهای را مدیریت میکند. با استفاده از آن، توسعه دهنده میتواند مدلهای C# را تعریف کند و بسیاری از عملیات دادهای را بدون نوشتن مستقیم تمام دستورات SQL انجام دهد. EF Core از قابلیتهایی مانند LINQ برای پرسوجو از دادهها پشتیبانی میکند و میتواند تغییرات موجودیتها را شناسایی کرده و برای ذخیره آنها در پایگاه داده به کار گیرد.
در یک پروژه ASP.NET Core MVC، مدلهای برنامه معمولاً با جدولهای پایگاه داده ارتباط دارند. EF Core به مدیریت این ارتباط کمک میکند و امکان انجام عملیات ایجاد، خواندن، بهروزرسانی و حذف دادهها را فراهم میسازد. همچنین قابلیت Migration برای مدیریت تغییرات ساختار پایگاه داده در طول توسعه کاربرد دارد. آشنایی با این امکانات به توسعه دهنده کمک میکند تغییرات مدلها را بهتر کنترل کند و هماهنگی میان کد برنامه و ساختار دادهها را حفظ کند.
مدیریت داده های مرتبط و هم زمان در پروژه های وب
در برنامههای واقعی، دادهها معمولاً مستقل از یکدیگر نیستند. برای مثال، یک سفارش میتواند به مشتری و چند قلم کالا مرتبط باشد و اطلاعات هرکدام در موجودیتهای جداگانه ذخیره شود. EF Core امکان تعریف و مدیریت این ارتباطها را فراهم میکند و به توسعه دهنده اجازه میدهد دادههای مرتبط را بازیابی یا بهروزرسانی کند. شناخت این روابط برای طراحی مدلهای پیچیدهتر و جلوگیری از تکرار غیرضروری اطلاعات اهمیت دارد و به سازمان دهی بهتر ساختار دادهها کمک میکند.

همزمانی نیز زمانی اهمیت پیدا میکند که چند کاربر یا فرایند بخواهند یک داده را تغییر دهند. اگر برنامه این وضعیت را بهدرستی مدیریت نکند، ممکن است تغییرات یک کاربر باعث از دست رفتن تغییرات کاربر دیگر شود. EF Core امکاناتی برای تشخیص و مدیریت تعارضهای همزمانی ارائه میکند، اما توسعه دهنده باید رفتار مورد انتظار برنامه را نیز مشخص کند. درک این موضوعها برای ساخت برنامههای وب قابل اعتماد و حفظ سازگاری اطلاعات در شرایط واقعی ضروری است.
چرا توسعه پروژه محور ASP.NET Core MVC و EF Core مفید است؟
یادگیری چارچوبهای توسعه وب زمانی کاربردیتر میشود که مفاهیم در قالب یک پروژه به یکدیگر مرتبط شوند. در یک پروژه مبتنی بر ASP.NET Core MVC و EF Core، توسعه دهنده میتواند ارتباط میان مدلها، کنترلرها، نماها و پایگاه داده را در یک ساختار واقعی بررسی کند. این روش کمک میکند هر قابلیت در بستر کلی برنامه معنا پیدا کند و روشن شود که تصمیمهای مربوط به طراحی مدل یا مدیریت درخواستها چگونه بر بخشهای دیگر نرم افزار اثر میگذارند.
این دوره با سطح متوسط برای کسانی مناسب است که با مفاهیم اولیه برنامه نویسی آشنا هستند و میخواهند توانایی خود را در ساخت برنامههای وب با فناوریهای .NET گسترش دهند. کار با عملیات CRUD، مرتب سازی و فیلتر دادهها، صفحه بندی، مدلهای پیچیده و مدیریت تغییرات پایگاه داده میتواند درک منسجمتری از توسعه برنامههای دادهمحور ایجاد کند. این دانش برای توسعه دهندگانی مفید است که قصد دارند پروژههای ASP.NET Core را ساختارمندتر پیاده سازی و نگهداری کنند.
سرفصل مطالب آموزش ویدئویی پروژه محور ASP.NET Core MVC و EF Core
فصل اول: شروع به کار
- ساخت برنامه
- پیاده سازی Style برنامه
- نصب پکیج های Nuget مربوط به EF Core
- ساخت Student Entity
- اضافه کردن بقیه ی Entity ها
- ساخت Context دیتابیس
- کار با Dependency Injection در Context
- معرفی Localdb
- Seed کردن دیتابیس
- کار با Scaffolding برای پیاده سازی Controller ها و View ها
- رسم و رسومات کار با دیتابیس
فصل دوم: پیاده سازی عملیات CRUD
- پیاده سازی صفحه ی Details
- کار با Routing
- تغییرات در صفحات Create و Details و View های مرتبط
- جلوگیری از حملات Overposting
- معرفی EntityState
- تغییرات صفحات Edit و Delete
- روش Read-First و Create-and-Attach در حذف داده ها
- بستن Connection های دیتیابیس
- کار با تراکنش ها
- کوئری های No-tracking
فصل سوم: انجام عملیات Sorting، Filtering، Paging و Grouping
- اضافه کردن قابلیت Sort به کنترلر Student
- اضافه کردن قابلیت Filtering به متد Index
- اضافه کردن قابلیت جست و جو
- اضافه کردن قابلیت Paging
- اضافه کردن صفحه ی آمار دانش آموزان به برنامه
فصل چهارم: Migration ها
- معرفی Migration ها
- اضافه کردن پکیج های Nuget برای Migration
- ساخت یک Migration
- بررسی متدهای Up و Down
- معرفی Data Model Snapshot
- اضافه کردن Migration به دیتابیس
فصل پنجم: ساخت یک Data Model پیچیده
- ساخت Data Model پیچیده
- کار با Attribute ها
- ساخت Instructor Entity
- ساخت OfficeAssignment Entity
- ساخت Department Entity
- اضافه کردن Migration و به روز رسانی دیتابیس
فصل ششم: خواندن داده های مرتبط
- معرفی روش Eager Loading
- معرفی روش Lazy Loading
- معرفی روش Explicit Loading
- مسائل مربوط به کارایی برنامه
- اضافه کردن View های مورد نیاز به برنامه
فصل هفتم: به روز رسانی داده های مرتبط
- ویرایش Create در کنترلر Courses
- اضافه کردن AsNoTracking به متدهای Edit و Delete
- به روز رسانی View های Edit و Create
- به روز رسانی کنترلر و View های Instructors
- به روز رسانی صفحات Delete
- به روز رسانی صفحات Create
فصل هشتم: مسائل مربوط به Concurrency
- مبحث Concurrency Conflict
- روش های خوش بینانه و بدبینانه
- کشف Concurrency Conflict
- اضافه کردن قابلیت کشف و ترمیم Concurrency Conflict به Departments
فصل نهم: پیاده سازی وراثت
- وراثت به Data Model
- روش های وراثت در بانک اطلاعاتی TPH - TPT - TPC
- پیاده سازی وراثت برای Entity های Student و Instructor
فصل دهم: مباحث پیشرفته



