【问题标题】:Duplicate Id issue重复 ID 问题
【发布时间】:2020-03-10 05:43:01
【问题描述】:

我有一个主详细信息,其中我有一个标识列,我正在获取最大值和增量,以及我使用 ASP.NET MVC 中的实体框架引用我的详细信息表的相同 id。

除非两个同时插入记录,否则它工作正常,所以在更新之前最大值是相同的,它给了我重复的 ID 问题。

谁能帮我解决这个问题。

【问题讨论】:

  • 获取数据库来计算 ID,而不是使用它拥有的内置设施。不要自己选择 max+1

标签: sql asp.net-mvc


【解决方案1】:

您的键列应使用属性[DatabaseGenerated],最好使用值DatabaseGeneratedOption.Identity

当轮子已经圆并且可以正常工作时,不要重新发明轮子。

【讨论】:

  • 感谢您的回答,但我有主明细表,我必须将 ID 列值引用到明细表,因此我手动生成 ID 值。我正在使用实体框架。
  • 当我使用标识列时,它将生成自动值,我如何在我的详细信息表中引用该值?
  • 如果您定义了关系,那么您插入实体而不用担心它们有什么 ID。 EF 会自己处理。
  • 这意味着如果我有主明细表与主外键关系它会自动将我的主键ID引用到明细表?
猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-16
  • 2021-10-26
相关资源
最近更新 更多