EF:从多对多(桥接)表中删除

时间:2010-12-21 19:26:57

标签: c# asp.net entity-framework-4

我有类似的设置:

Table1 
    id1 (int)
    name (varchar)

Table 2
    id2 (int)
    name (varchar)

Bridge
    id1 (fk to Table1)
    id2 (fk to Table2)

众所周知,在EF中,不存在代表Bridge的对象。相反,Table1将包含Table2的集合,而Table2将包含Table1的集合。

假设我有一个与Table2相关的Table1记录。

如何有效删除所有Table2引用 ?我只想将它们从Bridge表中删除......

1 个答案:

答案 0 :(得分:3)

我认为您只需清除引用然后保存更改 - 我认为它不会删除Table2记录,但我可能错了:

var query = from item in context.Table1
            where item.id1 == id1
            select item;

var table1 = query.Single();
table1.Table2s.Clear();

context.SaveChanges();