2016-12-27 1 views
1

Я пытаюсь посеять администратор в таблице пользователей к базе данных, так что, когда я раскрываю, у меня есть один пользователь, который может войти ....Вопросы развертывания MVC приложение, которое имеет пользователей и нуждается в обновлении на базе

Это метод семени, который я пытаюсь запустить, но он дает мне «подходящий метод, который можно переопределить». Мой пользователь приложения - пользователь приложения запаса, который визуальная студия дает вам в шаблоне.

protected override void Seed(ApplicationDbContext context) 
     { 
      // This method will be called after migrating to the latest version. 

      var passwordHash = new PasswordHasher(); 
      string password = passwordHash.HashPassword("[email protected]"); 
      context.Users.AddOrUpdate(u => u.UserName, 
       new ApplicationUser 
       { 
        UserName = "[email protected]", 
        PasswordHash = password, 
        PhoneNumber = "08869879" 

       }); 
     } 
+1

Вы унаследовав от '' DropCreateDatabaseAlways ? Для переопределения метода 'Seed' необходимо использовать базовый класс corectly. В этом случае это должно быть 'DropCreareDatabaseAlways ' –

+0

Я понял это. Я не передавал родительский класс ApplicationDbContext. Есть ли способ, который я могу использовать из 2-х разностных контекстов? –

+1

Возможно, создание BaseContext будет хорошей идеей, где вы переопределите 'Seed' –

ответ

1

класса, где вы переопределять метод Seed нужно наследовать от DropCreateDatabaseAlways<TContext>. Ошибка:

не подходящий способ нашел переопределить

Среднее только то, что базовый класс не содержит Seed метод. Вы можете переопределить это нравится:

internal sealed class Configuration : DbMigrationsConfiguration<YourContext> 
{ 
    protected override void Seed(YourContext context) 
    { 
     //add data 
    } 
} 
Смежные вопросы