2010-12-21 77 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