ویوهای داینامیک برای روابط چند به چند در EF Core

تهران آی تی / برنامــه نویــسـی / ویوهای داینامیک برای روابط چند به چند در EF Core

ویوهای داینامیک برای روابط چند به چند در EF Core

در آموزش ویوهای داینامیک برای روابط چند به چند در EF Core، نحوه نمایش داده‌های چند به چند در Viewهای ASP.NET Core بررسی خواهد شد. ویو های ایجاد شده شامل:  ویو و کنترلر مربوط به درس و همچنین انتخاب واحد دانشجویان میشود.

اکشن های اضافه و حذف یک درس

این دو اکشن کنترلر (Action Method) مربوط به کنترل اضافه کردن و حذف یک درس برای یک دانشجو در ASP.NET Core 9 هستند و از طریق فرم POST کار می‌کنند. در ادامه به صورت کامل و مرحله‌به‌مرحله کدها را توضیح می‌دهم:

  • متد AddCourse

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> AddCourse(int StudentId, int CourseId)
{
await _studentCourseService.AddStudentCourse(StudentId, CourseId);
return RedirectToAction(nameof(Details), new { id = StudentId });
}

  • متد RemoveCourse

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> RemoveCourse(int StudentId, int CourseId)
{
await _studentCourseService.RemoveStudentCourse(StudentId, CourseId);
return RedirectToAction(nameof(Details), new { id = StudentId });
}

این دو متد با هم یک سیستم ساده برای مدیریت دروس دانشجو فراهم می‌کنند. منطق اصلی مربوط به عملیات اضافه یا حذف در سرویس StudentCourseService پیاده‌سازی شده، که این باعث رعایت اصل تفکیک مسئولیت‌ها (SRP) در معماری نرم‌افزار می‌شود.

اکشن های اضافه و حذف یک دانشجو

مشابه کد قبلی هستند اما این بار تمرکز روی اضافه یا حذف دانشجو از یک درس هست (برعکس حالت قبلی که اضافه/حذف درس برای دانشجو بود). این تفاوت کوچکی در منطق و جهت نمایش در رابط کاربری ایجاد می‌کند.

  • متد AddStudent

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> AddStudent(int StudentId, int CourseId)
{
await _studentCourseService.AddStudentCourse(StudentId, CourseId);
return RedirectToAction(nameof(Details), new { id = CourseId });
}

  • متد RemoveStudent

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> RemoveStudent(int StudentId, int CourseId)
{
await _studentCourseService.RemoveStudentCourse(StudentId, CourseId);
return RedirectToAction(nameof(Details), new { id = CourseId });
}

این متد دقیقاً مشابه متد قبلی است، ولی با هدف حذف یک دانشجو از یک درس خاص.  از لحاظ عملکرد، ارتباط بین دانشجو و درس را حذف می‌کند (مثلاً ردیف مربوطه در جدول میانی بین دانشجویان و دروس را حذف می‌کند). پس از حذف، کاربر به صفحه جزئیات درس هدایت می‌شود تا بتواند لیست جدید دانشجویان آن درس را ببیند.

جستجو کنید
دسترسی سریع
دسته ها

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد