MVC5 Проблемы с посадкой семян

В связи с этим вопросом: Пользователи и роли семени MVC 5 Я попытался настроить семя пользователя по умолчанию. То, как я пробовал это в Configuration.cs, было:

var passwordHash = new PasswordHasher();
string defaultPassword = passwordHash.HashPassword("SuperPassword");

context.Users.AddOrUpdate(u => u.UserName,
   new ApplicationUser
   {
       UserName = "[email protected]",
       Email = "[email protected]",
       PasswordHash = defaultPassword
   });

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

Когда я пытаюсь обновить базу данных, я получаю сообщение об ошибке:

В базе данных уже есть объект с именем «AspNetRoles».

Я пытался использовать Add-Migration <name> -IgnoreChanges, но получил ошибку, что миграция еще не завершена.

Раньше я пытался включить миграцию для обоих контекстов, но для одного я получил это сообщение об ошибке:

Создание DbModelBuilder или запись EDMX из DbContext, созданного с использованием Database First или Model First, не поддерживается. EDMX можно получить только из DbContext Code First, созданного без использования существующей модели DbCompiledModel.

Enable-Migration для другого контекста просто перезаписал мой Configuration.cs настроенным начальным числом.


person Zumarta    schedule 11.12.2015    source источник
comment
Вы можете добавить миграцию с пустыми методами Up и Down. Иногда EF не синхронизируется с базой данных и требует «синхронной» миграции, чтобы вернуться в строй. То есть: запустите Add-Migration sync, затем вручную просмотрите и удалите уже существующие изменения схемы в методах up/down (даже если это означает, что методы ничего не делают).   -  person Rob    schedule 11.12.2015
comment
Я попробую, но как я могу отменить ожидающие миграции? Теперь есть сочетание клавиш типа Ctrl + C, не так ли?   -  person Zumarta    schedule 11.12.2015
comment
если под отменой вы имеете в виду полное избавление от них; вам просто нужно удалить файл(ы) миграции. Если под отменой вы имеете в виду не запускать на этот раз, я не думаю, что это возможно - по крайней мере, без активной борьбы с EF (что я не рекомендую)   -  person Rob    schedule 11.12.2015
comment
При этом, когда вы удаляете файл миграции и снова запускаете Add-Migration, удаленные изменения также появятся в новом файле миграции (который вы можете удалить/редактировать вручную).   -  person Rob    schedule 11.12.2015


Ответы (1)


Мне помог совет с редактированием методов Up и Down, спасибо! Не знал, что здесь можно редактировать операции.

person Zumarta    schedule 11.12.2015