
ویوهای داینامیک برای روابط چند به چند در 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 });
}این متد دقیقاً مشابه متد قبلی است، ولی با هدف حذف یک دانشجو از یک درس خاص. از لحاظ عملکرد، ارتباط بین دانشجو و درس را حذف میکند (مثلاً ردیف مربوطه در جدول میانی بین دانشجویان و دروس را حذف میکند). پس از حذف، کاربر به صفحه جزئیات درس هدایت میشود تا بتواند لیست جدید دانشجویان آن درس را ببیند.































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