2009-09-29 60 views
0

在我的應用程序有一個被定義爲2名的實體:從DataContext的刪除實體,使其不插入(LINQ到SQL)

public class A { 
     public B ClassB { get; set; } 
     // Bunch of code 
} 

public class B { 
     // Bunch of code 
} 

當我創建A類的新實例,給它分配B的新實例並將A插入到DataContext中,B的實例也會插入到DataContext中。當我想要DataContext 而不是沒有將該實體插入數據庫時​​,出現我的問題。我還沒有找到任何方法從DataContext中刪除該實體,以便它不被插入。我試過了:

DataContext.A.DeleteOnSubmit(InstanceOfB); 

無濟於事。

有沒有人有一個想法我做錯了什麼?

感謝

回答

2

這是設計 - &通常是一個理想的結果!

Linq-to-SQL插入子對象以保持關係完整性。如果你能以某種方式解決這個問題,下一個明顯的解決方案就是消除這種關係。這不是一個理想的建議,但它會起作用。

A.B = null; 

現在沒有一個ClassB的對象,因此插入語句不會將您B.