C# 如何自定义迁移标识列';s参数?

C# 如何自定义迁移标识列';s参数?,c#,entity-framework,entity-framework-6,entity-framework-migrations,C#,Entity Framework,Entity Framework 6,Entity Framework Migrations,我有一个简单的模型: public class Code{ public int Id { get; set; } public string Name { get; set; } } 在我的领域。Id是主键。为类生成迁移将导致以下代码: CreateTable( "dbo.Codes", c => new { Id = c.Int(nullable: false, identity: true), Name = c.Str

我有一个简单的模型:

public class Code{
    public int Id { get; set; }
    public string Name { get; set; }
}
在我的领域。
Id
是主键。为类生成迁移将导致以下代码:

CreateTable(
    "dbo.Codes",
    c => new {
        Id = c.Int(nullable: false, identity: true),
        Name = c.String(),
    })
    .PrimaryKey(t => t.Id);
这显然会生成以下T-SQL脚本:

CREATE TABLE [dbo].[Codes] (
    [Id] [int] IDENTITY NOT NULL,
    [Name] [nvarchar](max),
    CONSTRAINT [PK_dbo.Codes] PRIMARY KEY ([Id])
)
嗯。问题是我想自定义标识列的种子值和增量值。为此,生成的脚本需要如下(例如,100000作为种子,23作为增量值):

因此,问题是,如何修改生成的迁移以接受
(100000,23)
?有什么办法吗

更新:

似乎我必须记下一些要点(我的英语太差了,所以如果有些要点不清楚,请原谅)

我知道
DBCC CHECKIDENT
命令。这不是答案。因为:

  • 这只是关于重新设置标识列的种子。不自定义增量值

  • 在创建表之后,它可以工作。在我的例子中,我试图在创建表的同时完成这项工作

  • 为了重置增量值,需要重新创建表-据我所知。我没有试图重新设置增量,种子也没有。我正试着把它们放好

  • 问题不在于改变数据库,或者使用SQL命令,或者类似的东西。我很好奇是否可以修改迁移来定制生成的SQL


  • ,感谢链接。我更新了这个问题。是的,我知道您希望在创建数据库的初始迁移中使用它,但据我所知,没有办法做到这一点。@CodeCaster Ooops,太糟糕了):多亏了帮助
    CREATE TABLE [dbo].[Codes] (
        [Id] [int] IDENTITY (100000, 23) NOT NULL,
        [Name] [nvarchar](max),
        CONSTRAINT [PK_dbo.Codes] PRIMARY KEY ([Id])
    )