首页 > 解决方案 > 如何从两个表中删除数据?

问题描述

我有两张桌子teacherstudent. 不同的老师有学生。当我删除一位老师时,与该老师相关的学生也应该被删除。学生的 StudentTeacherId 与教师表中的 TeacherId 相关。

标签: c#sqlsql-server

解决方案


有几种方法:

如果您不使用 ORM:

  1. Teacher在 SQL Server 中定义外键约束的级联删除,然后您只需要在表上发送删除查询。

  2. 创建将根据教师获取学生的方法,然后删除他们,然后删除教师。

如果您使用的是 ORM:

1' 在 EF(以及我猜的其他 ORM)中,您可以指定级联删除,因此 ORM 将为您处理删除教师的情况。

2' 使用 ORM,获取学生的实体,删除他们,然后删除教师

我认为最适合您的是选项 1。因为您没有提到任何 ORM。在这种情况下,请阅读:How do I use cascade delete with SQL Server?


推荐阅读