ASP.NETCoreMVC:在发布Edit方法之前删除多对多条目。
创始人
2024-09-18 00:01:13
0

在多对多关联表上执行标准SQL语句,以在编辑方法中删除多对多关联条目。可以通过使用DbContext来执行SQL语句。

以下是示例代码:

public async Task Edit(int id, StudentViewModel model)
{
    if (ModelState.IsValid)
    {
        var student = await _context.Students
            .Include(s => s.StudentCourses)
            .SingleOrDefaultAsync(s => s.Id == id);

        if (student != null)
        {
            //delete all existing student courses
            var deleteSql = $"DELETE FROM StudentCourses WHERE StudentId = '{id}'";
            await _context.Database.ExecuteSqlCommandAsync(deleteSql);

            //update student properties
            student.Name = model.Name;
            student.Age = model.Age;

            //add newly selected student courses
            foreach (var courseId in model.SelectedCourseIds)
            {
                var studentCourse = new StudentCourse
                {
                    StudentId = id,
                    CourseId = courseId
                };

                _context.Add(studentCourse);
            }

            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
    }

    return View(model);
}

相关内容

热门资讯

第六分钟辅助!全民内蒙古辅助,... 第六分钟辅助!全民内蒙古辅助,wepoker透视app下载(推荐十款开挂辅助工具)《详细加薇1367...
第8分钟辅助!同城游逮狗腿辅助... 第8分钟辅助!同城游逮狗腿辅助,海贝之城有辅助吗(推荐一款开挂辅助安装);1、这是跨平台的海贝之城有...
第五分钟透视!同城游辅助器,决... 第五分钟透视!同城游辅助器,决战卡五星辅助神器(一分钟了解开挂辅助脚本);无需打开直接搜索加(薇:1...
第五分钟辅助!皇豪互众控制系统... 第五分钟辅助!皇豪互众控制系统,武汉约战辅助(必备科技开挂辅助神器);武汉约战辅助中的10万兆豆可能...
第六分钟开挂!桃乐甘肃麻将下载... 第六分钟开挂!桃乐甘肃麻将下载辅助器,兴动互娱辅助工具名称(玩家必看科普开挂辅助平台) 了解更多开挂...
四分钟辅助!樱花之盛辅助器,闲... 四分钟辅助!樱花之盛辅助器,闲逸亲友圈辅助器(透视总结开挂辅助软件);详细闲逸亲友圈辅助器攻略(闲逸...
2分钟辅助!hhpoker为什... 2分钟辅助!hhpoker为什么一直输,创思维app有挂吗(技术分享开挂辅助插件);1.创思维app...
9分钟透视!欢聚水鱼辅助视频,... 9分钟透视!欢聚水鱼辅助视频,盛世辅助软件(热点讨论开挂辅助插件)1、下载安装好欢聚水鱼辅助视频,进...
7分钟辅助!有没有人会衢州都莱... 7分钟辅助!有没有人会衢州都莱的辅助,新道游游戏辅助器免费版(大家学习交流开挂辅助平台);致您一封信...
第七分钟辅助!山西扣点免费辅助... >>您好:山西扣点免费辅助下载确实是有挂的,很多玩家在这款山西扣点免费辅助下载游戏中打牌都会发现很多...