2013-12-08 27 views
0

我正在編寫一個WPF客戶端應用程序,並使用WCF數據服務與數據庫進行通信。我有以下情況:我添加一個新策略,它有一個附加對象House,每個House都有一個Address。在標準的實體框架應用程序中,這不是問題,但我需要在實體之間添加關係。這是我的代碼:上下文已經在跟蹤實體 - 我知道但是如何解決它?

context.AddToPolicySet(Policy); 
context.AddToAdressSet(Address); 
context.AddRelatedObject(Address, "HouseSet", House); 
context.AddRelatedObject(Policy, "HouseSet", House); // !!!!!!!!!!!! 
Policy.HouseSet.Add(House); 
House.PolicySet = Policy; 
Address.HouseSet.Add(House); 
House.AdressSet = Address; 

現在,我明白上下文已經在跟蹤實體。但如何解決這個問題?如果我刪除第四行然後出現錯誤「插入語句violetes外鍵約束...」。在我看來,我需要在衆議院附上政策和衆議院的地址。但我的方式顯然是錯誤的。什麼是正確的? :)

回答

1

使用AddLink方法:

context.AddLink(Policy, "HouseSet", House); 

編輯

這似乎是

context.SetLink(House, "PolicySet", Policy); 
+0

給我的消息「Insert語句violetes外鍵約束... FK_HousePolicy 「所以我猜這是行不通的。 – tomomomo

+0

啊,也許它應該是AttachLink。 –

+0

現在我得到:「關係的一端或兩端處於增加狀態。」我認爲這是因爲我做了context.AddToPolicySet(策略)之前,但沒有它我會得到「上下文沒有跟蹤實體」異常... – tomomomo

相關問題