本文介绍了实体框架自动递增起始值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个实体如下

[Table("ESS_POS_SE_VERSION")]
public class Version
{
    [Key, Column("DETAIL_ID"), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Column("DETAIL_TITILE")]
    public string DetailKey { get; set; }

    [Column("DETAIL")]
    public string Detail { get; set; }
}

SO Id列是自动增量列,但是我需要设置它的起始值为1000.我该怎么做?

SO Id column is auto increment column, but I need to set its starting value to 1000. How can I do it?

推荐答案

考虑创建一个自定义数据库初始化程序。
每次创建或重新创建数据库时都会调用它。

Consider creating a custom database initializer.It will be called each time your database is created or recreated.

例如:

public class MyInitializer : DropCreateDatabaseIfModelChanges<TContext> where TContext : DbContext
{
    protected override void Seed(TContext context)
    {
        context.Database.ExecuteSqlCommand("DBCC CHECKIDENT('MyTable', RESEED, 1000);");
    }
}

然后注册:

protected void Application_Start()
{
    Database.SetInitializer<MyContext>(new MyInitializer());
}

这篇关于实体框架自动递增起始值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-08 02:31