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

时间:2016-08-04 20:06:33

标签: entity-framework

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

我的表格的示例如下

Record

  • ID
  • 名称

接合表

  • 的recordId
  • lookupId所

Lookups

  • lookupId所
  • lookupname

目前我正在传递一个更新的模型,我正在尝试删除所有结点记录,然后再读取新选择的值。到目前为止,我尝试的所有内容都会从查找表中删除记录。

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

1 个答案:

答案 0 :(得分:4)

试试这个 - 只需在导航属性上使用.Clear()方法就可以删除任何导航(a.k.a。“junction”)条目 - 而不是实际的Lookups条目:

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