Entity Framework auto increment with starting value

auto-increment, entity-framework, entity-framework-6

Solution

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

For example:

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

Then register it:

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

Problem

I have a entity as follows ``` [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 column is auto increment column, but I need to set its starting value to 1000. How can I do it?

Original source