Создание новой миграции со всей структурой таблицы для новой базы данных
У меня есть проект, над которым я работаю. Пока я кодировал его, я создал базу данных на Local SQL lite на моей машине. Теперь мне нужно запустить его в производство, и я не могу заставить миграцию создать что-то, что не является пустым.
Вот моя старая строка подключения:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=helpdesk;Integrated Security=True" providerName="System.Data.SqlClient" />
Я изменил это в это:
<add name="DefaultConnection" connectionString="Server=SQL50;Database=HelpDesk;Trusted_Connection=true;" providerName="System.Data.SqlClient" />
Я пытался из этой темы ( Сбросить Entity-Framework Migrations):
- Удалите папку миграций в вашем проекте
- Удалите таблицу __MigrationHistory из своей базы данных (может быть, под системными таблицами). Однако это не имеет смысла, поскольку это новая база данных и, следовательно, еще не имеет миграций.
Всякий раз, когда я пытаюсь создать новую миграцию, вот что я получаю:
public partial class Initial : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
Я нашел эту ссылку об Инициализаторах, как предложил Стив Грин ниже ( http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm)
и он предлагает использовать эту строку кода:
Database.SetInitializer(new DropCreateDatabaseAlways<BlogContext>());
В основном метод. Однако у меня нет основного метода или метода, подобного этому вообще.
1 ответ
Обычно это то, что я делаю, если хочу начать с нуля.
Сбрось локальную БД. - вы можете сделать резервную копию и т. д.
Удалите папку миграций из моего проекта.(Верните в систему контроля версий любые изменения модели, это может иногда вызывать проблемы).
Запустите команду Enable-Migrations для моего проекта.(это должно добавить папку миграций).
Запустите Add-Migration Initial. (это должен эшафот БД init).
Запустите команду Update-Database (или запустите ваше приложение, которое использует DBContext).