我有 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/