【问题标题】:auto increment of data(int type) which is not Id(identity already used) ASP.NET MVC不是 Id(已使用身份)的数据(int 类型)的自动增量 ASP.NET MVC
【发布时间】:2019-08-04 03:40:46
【问题描述】:

我正在尝试自动增加不是 Id 的数据,我在 Id 上使用了 Sql Identity,所以不能再使用它了。我尝试了 sql 序列来绑定数据列,如果我通过脚本从 sql 添加信息,它可以工作,但它不适用于从 Visual Studio 添加。我试图 [DatabaseGenerated(DatabaseGeneratedOption.Computed)] 但它也不起作用。我在网上搜索了这个主题 2 天,但找不到任何解决方案

【问题讨论】:

  • 不,那是在 Id 上并使用身份
  • @lekinio,我也在寻找这个解决方案。你有什么发现吗?我有一个解决方法,方法是在另一个表中维护一个序列并将其用于非 id 列。但是,为了避免并发,我需要一些锁定机制。

标签: model-view-controller increment auto


【解决方案1】:

您可以为此使用SQL Sequences。根据微软的文档

序列是用户定义的模式绑定对象,它根据创建序列的规范生成数值序列。数值序列按定义的时间间隔按升序或降序生成,并可配置为在用尽时重新启动(循环)。与标识列不同,序列不与特定表关联。应用程序引用一个序列对象来检索它的下一个值。序列和表格之间的关系由应用程序控制。用户应用程序可以引用一个序列对象并跨多个行和表协调值。

您可以使用以下语法创建序列:

CREATE SEQUENCE OrderNumber  
    START WITH 1  
    INCREMENT BY 1 ;  
GO

要查看如何在 MVC 中使用它,请查看this 帖子。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-06-17
    • 1970-01-01
    • 2020-02-25
    • 2011-01-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2017-11-12
    • 1970-01-01
    相关资源
    最近更新 更多