实体框架 - SaveChanges()不会获取生成的标识密钥

时间:2009-07-27 08:57:56

标签: c# .net entity-framework identity

我在我的项目中使用实体框架,这是一场噩梦!

我有一个SQL DB,我有一个名为Form的表。

表单的ID是PK和身份(它会自动增加)。

这次我这样做:

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。

我不知道发生了什么事让他停止工作。

我不得不更改插入的名称,删除和更新多个表的存储过程,因此我不得不重新映射这一切。也许我做错了什么,但我一次又一次地看着,一切似乎都好。

有没有人知道为什么?

2 个答案:

答案 0 :(得分:3)

我认为此问题已通过补丁解决。如果数据模型仍无法正常工作,您应该尝试删除并添加数据模型。 EF现在似乎没有这个问题了。

答案 1 :(得分:0)

好吧......我忘记了这个

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

我必须“使用结果列绑定,并将新值映射到实体列。”

实体Fw不应该为我这样做吗?!