0
讓我描述的行爲,我得到:實體框架AddTo函數不一致?
- 負載從數據庫中的用戶:這意味着用戶被附加到上下文
- 創建新的對象C:
- ÇtempC =新C();
- tempC.User =先前加載的用戶;
- Context.AddToCSet(tempC);
- 最後一行引發異常,因爲當設置屬性用戶時,該對象已添加到上下文中。
但如果我做到以下幾點:
- 負載從數據庫中的用戶:這意味着用戶被附加到上下文
- 創建新的對象C:
- C tempC = new C();
- tempC.User =先前加載的用戶;
- Context.SaveChange();
- 創建具有與對象C.
- Ê坦佩=全新E的關係的新對象E();
- tempE.C =先前創建的C;
- Context.AddToESet(tempE);
它不拋出異常。我期待着一個例外,因爲那時C被附加到上下文中,這應該與第一個例子相同。但事實並非如此。爲什麼,我能做些什麼來保持一致性?
我打算在將它添加到集合之前檢查對象的狀態(EntityState == Detached),但我想我一定是做錯了開始。
不知道,但一些代碼顯示你在做什麼可以幫助這裏。 – Odd 2009-01-28 00:56:49