c# - 如何从两个表中删除数据?
问题描述
我有两张桌子teacher
和student
. 不同的老师有学生。当我删除一位老师时,与该老师相关的学生也应该被删除。学生的 StudentTeacherId 与教师表中的 TeacherId 相关。
解决方案
有几种方法:
如果您不使用 ORM:
Teacher
在 SQL Server 中定义外键约束的级联删除,然后您只需要在表上发送删除查询。创建将根据教师获取学生的方法,然后删除他们,然后删除教师。
如果您使用的是 ORM:
1' 在 EF(以及我猜的其他 ORM)中,您可以指定级联删除,因此 ORM 将为您处理删除教师的情况。
2' 使用 ORM,获取学生的实体,删除他们,然后删除教师
我认为最适合您的是选项 1。因为您没有提到任何 ORM。在这种情况下,请阅读:How do I use cascade delete with SQL Server?
推荐阅读
- javascript - 使用来自 getJSON 的数据创建表
- c# - 如何使用 HTML Agility Pack 从多个页面获取数据
- c# - 如何克服 Mono WASM 运行时中缺少的时区实现
- powershell - 如何以用户 XYZ 的身份执行 powershell 命令?
- azure-active-directory - 以编程方式加入 AzureAD
- android - 应用 ffmpeg 复古效果后视频不播放
- javascript - 如何在javascript中隐藏一个div?
- node.js - 如何使用nodejs获取连接到另一个局域网的所有设备的ip和mac地址?
- php - 在php中选择对象的数组值
- electron - 从电子菜单发出 Main 到 Main 事件