實體框架 - SaveChanges()不會獲取生成的標識密鑰

.net c# entity-framework identity

我在我的項目中使用實體框架,這是一場噩夢!

我有一個SQL DB,我有一個名為Form的表。

表格具有PK和身份的ID(它會自動增加)。

這次我這樣做:

Dim form as int32
Dim dbform As New Entities1
Dim form696 As New Form

dbform.AddToForm696(form)
dbform.SaveChanges()

ID = form.ID

一周前,ID和form.ID在插入後生成了密鑰,但現在只有0。

我不知道發生了什麼事就停止了工作。

我不得不更改插入的名稱,刪除和更新幾個表的存儲過程,所以我不得不重新映射這一切。也許我做錯了什麼,但我一次又一次地看著,一切似乎都好。

有沒有人知道為什麼?

一般承認的答案

我認為此問題已通過補丁解決。如果數據模型仍無法正常工作,您應該嘗試刪除並添加數據模型。 EF現在似乎沒有這個問題。


熱門答案

好的......我忘了這件事

http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/17/ado-net-entity-framework-tools-stored-procedures.aspx

我不得不“使用結果列綁定,並將新值映射到實體列。”

實體Fw不應該為我這樣做嗎?!



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因