我有一箇舊數據庫,我正在使用實體框架進行接口連接。我不能更改模式,因爲它正在被另一個(非常舊的)應用程序使用,如果不允許爲應該是PK的列插入自己的值,它將會崩潰。通過實體框架爲傳統表插入主鍵
這些表沒有設置主鍵約束,因此沒有可用的標識。他們是設置爲EF設計器中的實體鍵雖然(不代碼優先)。選擇效果很好,但插入失敗,因爲它無法弄清楚主鍵的值應該是多少。我試着將StoreGeneratedPattern
設置爲none
,computed
和identity
但他們都沒有工作。
VS 2013,EF 6我覺得(真的不知道如何檢查,因爲ADO.net Entity Data Model
項目沒有指定)
那麼,你必須自己提供一個PK值。 'DatabaseGeneratedOption'在這裏不適用,因爲數據庫不會生成任何東西。 –
此表中的任何列是否適合「假」主鍵?也就是說,它包含了獨特的價值?如果是這樣,您可以誘使EF將該列用作主鍵,我可以回答這個問題。 – Amy
您是否考慮過使用存儲過程而不是EF插入? – HLGEM