2010-12-21 76 views
1

我有一個類似的設置刪除:EF:從許多一對多(橋)表

Table1 
    id1 (int) 
    name (varchar) 

Table 2 
    id2 (int) 
    name (varchar) 

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

大家都知道,在EF,對象將不存在代表橋。相反,Table1將包含Table2的集合,而Table2將包含Table1的集合。

比方說,我有一個Table1記錄與5個Table2相關聯。

如何刪除所有Table2引用有效?我只希望他們從橋表中刪除...

回答

2

我覺得你剛纔清除引用,然後保存更改 - 我不認爲它會刪除該表2的記錄,但我可能是錯的:

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

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

context.SaveChanges(); 
+0

非常好。謝謝! – bugfixr 2010-12-21 19:42:15