Seed method not called, Entity Framework 6

前端 未结 7 809
我在风中等你
我在风中等你 2020-12-28 18:29

I have a DatabaseInitializer class

public class DatabaseInitializer : CreateDatabaseIfNotExists
{
    protected override          


        
7条回答
  •  不思量自难忘°
    2020-12-28 18:48

    If you are using Code-First then you can populate the data when the application runs for the first time.

    • Create a DbInitializer

      public class MyDbInitializer : IDatabaseInitializer
      {
         public void InitializeDatabase(MyDbContext context)
         {
            if (context.Database.Exists())
            {
              if (!context.Database.CompatibleWithModel(true))
              {
                  context.Database.Delete();
              }
            }
            context.Database.Create();
      
            User myUser = new User()
            {
              Email = "a@b.com",
              Password = "secure-password"
            };
            context.Users.AddOrUpdate(p => p.Email, myUser);
            context.SaveChanges();
         }
      }
      
    • Register this DbInitializer in your Global.asax.cs Application_Start method

      Database.SetInitializer(new My.namespace.MyDbInitializer());
      

提交回复
热议问题