2015-09-15 3 views
0

У меня есть проект, над которым я работаю. Пока я кодировал его, я создал базу данных на локальном SQL-сервере на моей машине. Теперь мне нужно привести его в действие, и я не могу заставить миграции создавать все, что не пусто.Создание новой миграции со всей структурой таблицы для новой базы данных

Вот моя старая строка подключения:

<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" /> 

Я пытался из этого потока (Reset Entity-Framework Migrations):

  1. Удаление миграции в вашем проекте
  2. Удалить t он __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>()); 

В основном методе. Однако у меня нет основного метода или любого метода, подобного этому вообще.

+0

На что у вас установлен инициализатор? –

+0

@SteveGreene извините, но что такое инициализатор? – djblois

+0

Определяет, если и когда EF создает новую базу данных. http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx –

ответ

0

Как правило, это то, что я делаю, если я хочу начать с нуля.

  • Оставьте локальную БД. - вы можете взять резервную копию и т. д.

  • Удалите папку миграции из моего проекта. (Зайдите в исходный код , чтобы контролировать любые изменения модели, иногда это может вызвать проблемы).

  • Запустите команду Enable-Migrations для моего проекта. (это должно добавить папку миграций).

  • Запустите Add-Migration Initial. (это должно быть эшафот db init).

  • Запустите команду «Обновить базу данных» (или запустите приложение, которое использует DBContext).

Смежные вопросы