dataannotations在主键上设置标识种子值,代码优先

时间:2012-06-29 02:16:31

标签: asp.net-mvc-3 ef-code-first data-annotations

ASP.NET MVC3代码第一个项目。

在我的类定义中,如何设置Identity种子值。

  public class Account
  {
    [Key]   
    public int Id { get; set; }

将Identity种子设置为1000000的语法是什么?

谢谢

1 个答案:

答案 0 :(得分:4)

谢谢Craig,看了https://stackoverflow.com/a/5974656/968301之后就很简单了。

创建一个初始化器

public class MyInitializer : DropCreateDatabaseIfModelChanges<MyContext> 
{   
  protected override void Seed(MyContext context) 
  {   
    context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Account', RESEED, 1000000)");
  }  
}

然后从Global.asax.cs的Application_Start部分调用

protected void Application_Start()
{
  Database.SetInitializer(new MyInitializer());
  AreaRegistration.RegisterAllAreas();

  RegisterGlobalFilters(GlobalFilters.Filters);
  RegisterRoutes(RouteTable.Routes);
}