我與實體框架MVC4和SQL Server編碼和我遇到了一個錯誤,當我創建這個關係:EF/MVC4/SQL Server:ALTER TABLE和FOREIGN KEY約束選項?
Jobs.JobID = Docs.JobID
錯誤:
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint
我知道,爲了解決這個問題我必須執行以下操作之一:
- 刪除所有表數據,然後創建關係。
- 添加或刪除所有
JobID
缺失/空的記錄,然後創建關係。
的問題是,大約有25000條記錄與標識缺少的,所以我想知道,如果改變SQL Server中的關係選項會解決這個問題的w/o造成的問題?我看到以下內容:
- 檢查現有的數據在創建:是
- 強制執行複製:是
- 強制執行外鍵約束:是
有誰知道這是否會解決問題當嘗試使用.Include
命令將數據鏈接到MVC4時不會導致任何問題?獲取鏈接數據以使用.Include
命令顯示是我爲什麼這樣做的真正目的,但我對它將影響.edmx文件的工作方式,實體框架命令或項目的方式持懷疑態度。
也許有解決這個更簡單的方法,或者可能添加/刪除25K的記錄是MVC4/EF工作時來解決這個唯一的方法,但我不知道?讓我知道正確的方式去做這件事。謝謝!
感謝您的答覆。你認爲相當於這是強制外鍵約束:否和檢查現有數據創建=否?如果它是相同的,我想先在嚮導中嘗試一下。 – ForeverLearningAndCoding
我會這樣認爲的。我認爲'強制外鍵約束'相當於'FK enabled yes | no',並且當您再次啓用該鍵時,「檢查現有數據開啓」選項將發揮作用。 – souplex
我認爲這有效,但我將不得不做更多的編碼和測試,以確保它不會在別處造成問題,然後再將其標記爲正確答案。感謝您的幫助,希望在我完成測試的時候一切順利! – ForeverLearningAndCoding