【问题标题】:Entity Framework - SaveChanges() doesn't get the generated Identity key实体框架 - SaveChanges() 没有获得生成的身份密钥
【发布时间】:2010-11-14 07:16:40
【问题描述】:

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

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

Form 的 ID 是 PK 和 Identity(它会自动增加)。

这次我这样做了:

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有插入后生成的key,现在只有0。

我不知道这停止工作发生了什么。

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

有人知道为什么吗?

【问题讨论】:

    标签: c# .net entity-framework identity


    【解决方案1】:

    我认为这个问题已经通过补丁解决了。如果仍然无法正常工作,您应该尝试删除并重新添加您的数据模型。 EF 现在似乎在这方面的问题更少了。

    【讨论】:

    • 我有最新的 EF 4.1,不,它不返回 id
    【解决方案2】:

    好吧...我忘了这个

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

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

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

    【讨论】:

    • 这仅在模型映射到函数或存储过程时有用;表映射没有“结果列绑定”。您的模型绑定到什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多