本文介绍了实体框架自动递增起始值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个实体如下
[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());
}
这篇关于实体框架自动递增起始值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!