2013-05-08 113 views
1

試圖插入與空關聯的實體的實體,當我有問題..如何阻止實體框架插入關聯的實體?

我只是做:

pUser.DogAndUser = null //dogAndUser is the relationship between dog and user 
context.User.Add(pUser) 

但是在這裏我得到一個錯誤,指出外鍵idDog不存在在桌子狗。 好吧..當然不是..我給它一個空關聯。然後我確認它試圖插入關聯的實體在Dog中插入一行,然後在DogAndUser關係中傳遞該值..它沒有拋出一個錯誤,並沒有在關係中插入一行..但爲什麼?我沒有明確地告訴它這樣做..如何才能阻止這種情況的發生?謝謝!

+2

您的外鍵列在數據庫中可以爲空嗎? – 2013-05-08 13:26:45

+0

不...但仍然...爲什麼它嘗試插入關聯的實體?這是一對多的關係 – 2013-05-08 13:29:49

+0

這是因爲通過EDMX傳遞給EF的dB中定義的關係。 – Saravanan 2013-05-08 13:35:00

回答

3

您需要檢查幾件事來糾正問題。

  1. 數據庫中的外鍵列是否設置爲空?
  2. 在你的模型,爲外鍵字段爲空的
  3. 在您的協會的性質,是DogUAndUser的結束多重設置爲0..1

根據你的描述,這應該糾正你的問題。