entity-framework - 如何删除两个实体之间的关系

标签 entity-framework

我有两个实体,学生和类(class)。给定学生 ID 和类(class) ID,我需要删除他们的关系(意味着学生将不再参加该类(class))(请注意,我不需要删除学生和类(class)本身,只需删除他们的关系)。

我尝试使用Students.Courses.Clear(),但它清除了每一门类(class),而不是特定的类(class)。谢谢你。

编辑:
在数据库中,Student 和 Course 通过一个 StudentCourse 表相关联,该表有 2 列:StudentID 和 CourseID。

我通常会删除该行以删除关系,但是当从数据库生成模型时,它没有为此表创建实体。相反,Student 和 Course 是彼此的导航属性,它们的 Association 设置为 StudentCourse 表。谢谢你。

最佳答案

您将拥有一个学生、类(class)和类似注册类(class)的内容,其中包含类(class)和学生的 ID。只需在他们辍学时删除该记录或在学生注册时创建该记录即可。

在 EF 中可能是这样的:

courseToRemove = Student.Courses.FirstOrDefault(c => c.Name == "Mathematics");
Student.Courses.Remove(courseToRemove);

然后提交您的更改。

关于entity-framework - 如何删除两个实体之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489695/

相关文章:

c# - 在运行时创建 LINQ 查询到 EntityFramework 中的 GroupBy(具有继承)

c# - 在运行时创建具有新匿名类型的 lambda 表达式

c# - 如何识别标记为级联删除的关联

c# - 如何仅将实体的已更改属性更新到 Entity Framework

c# - 我想使用 Entity Framework + ASP Identity 但我不想让 EF 为我生成表

c# - 为什么 Entity Framework Remove vs RemoveRange 返回类型不是 void 或 bool

sql-server - 使用内存中的 SQLite 测试基于 EF SQL Server 的应用程序?

c# - 通过 mysql 和 Entity Framework 中的关系访问表的问题

c# - 没有连接字符串的代码优先更改数据源

c# - 如何在 EF 中执行日期部分比较