entity-framework - 使用 Entity Framework 6 从联结表中删除但将记录保留在查找表中

标签 entity-framework

我有 2 个表,1 个主表,1 个联结表和 1 个查找表。这是一对多对一的关系。我正在寻找一种方法来仅删除连接表中的所有条目,而不删除查找值。

我的表格示例如下

记录

  • ID
  • 姓名

连接表

  • 记录ID
  • 查找ID

查找

  • 查找ID
  • 查找名称

目前,我正在传递更新的模型,并尝试在读取新选择的值之前删除所有连接记录。到目前为止,我尝试过的所有操作也会从查找表中删除该记录。

 foreach (var lookup in recordFromDB.Lookups.ToList()) {
     _context.Lookups.Remove(DesignSoftware);
 }

最佳答案

尝试一下 - 只需在导航属性上使用 .Clear() 方法即可删除所有导航(也称为“连接点”)条目 - 但不会删除实际的 Lookups 条目:

recordFromDB.Lookups.Clear();
YourContext.SaveChanges();

关于entity-framework - 使用 Entity Framework 6 从联结表中删除但将记录保留在查找表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776532/

相关文章:

entity-framework - Entity Framework Code First 一对多查询错误?

c# - Entity Framework 中可以设置执行时间吗?

c# - Entity Framework 6 Code First 查找表未填充

java - 用于数据库实体管理和 View 的管理 UI?

c# - "Translate"属性名转换成可读的名字

entity-framework - 将 Entity Framework 4.1 Code First 应用程序移至生产需要哪些更改?

entity-framework - 使用 EntityFramework-Plus 批量插入

c# - EF Core中的0-1自引用关系

entity-framework - EF代码第一个: The EntitySet name 'TestDBContext1.Customers' could not be found

c# - SqlBulkCopy 和 Entity Framework