Model view controller 在mvc代码中首先从10开始Id,而不是1و;从特定点开始自动递增
这是我在代码中首先使用的模型,我在normal中使用Id作为表的索引和标识的键Model view controller 在mvc代码中首先从10开始Id,而不是1و;从特定点开始自动递增,model-view-controller,code-first,Model View Controller,Code First,这是我在代码中首先使用的模型,我在normal中使用Id作为表的索引和标识的键 public int Id { get; set; } public int Code { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual IEnumerable<Item> Items { get; set
public int Id { get; set; }
public int Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual IEnumerable<Item> Items { get; set; }
public int MainGroupId { get; set; }
public virtual MainGroup mainGroup { get; set; }
public int Id{get;set;}
公共整数代码{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共虚拟IEnumerable项{get;set;}
public int MainGroupId{get;set;}
公共虚拟主组主组{get;set;}
我的问题是:如何首先从代码中的特定点开始自动递增,
当我向数据库中添加一个项目时,在默认模式下id从1开始,但我希望从10开始,我如何才能做到这一点 我认为您可以使用标识列,并自定义数据库初始化或迁移以设置标识列的种子 执行此操作的
T-SQL
命令是:
DBCC CHECKIDENT ('Offer', RESEED, 123);
请注意,下一个插入值不是123,而是123+增量(如果默认增量为1,则为124)
您还可以使用带有DatabaseGeneratedOption.Computed
的列和序列作为字段的默认值(如果您使用的是最新的SQL server版本)。创建序列时,可以指定初始值和增量:
CREATE SEQUENCE OfferNoSeq
START WITH 1 -- Initial Value
INCREMENT BY 1 -- Increment
附加此序列作为OfferNo列的默认值,如下所示:
ALTER TABLE Offer ADD CONSTRAINT OfferNoSeq
DEFAULT (NEXT VALUE FOR OfferNoSeq) FOR OfferNo;
没有直接的方法首先在代码中实现这一点。因此,要使用这些选项中的任何一个,您需要
- 这是通过实现您自己的 数据库初始值设定项类,并从中执行所需的SQL命令 种子方法(查找公共类的实现) 链接文章中的MyInitializer) 或to:您可以在迁移的Up()或Down()方法中执行任何SQL命令,如 链接答案