2014-12-22 2 views
0

Возможно ли иметь отдельные данные семян для каждой миграции?Различные семена для каждой миграции

Данные базы данных могут быть изменены с момента запуска первой миграции. Поэтому он не должен использоваться в будущих миграциях. Но я все еще хочу его, когда выполняется первая миграция.

ответ

0

Добавить новую пустую миграцию с помощью следующей команды в пакете менеджер консоли:

Add-Migration DefaultAddressData 

После это создает sql-скрипт для метода вверх и вниз, который генерирует и возвращает данные семени

namespace Northwind.CodeFirst.Migrations 
{ 
    using System; 
    using System.Data.Entity.Migrations; 

    public partial class DefaultAddressData : DbMigration 
    { 
     public override void Up() 
     { 
      this.Sql(@"INSERT INTO dbo.Addresses(Name, AddressLine1, AddressLine2, City, State) 
         VALUES ('John', 'House address 1', 'street address 1', 'city 1', 'some state'), 
           ('Name 2', 'House address 2', 'street address 2', 'city 2', 'some state'); 
         INSERT INTO dbo.Addresses(Name, AddressLine1, AddressLine2, City, State) 
         VALUES ('Name 3', 'House address 3', 'street address 1', 'city 2', 'some state');"); 

     } 

     public override void Down() 
     { 
      this.Sql(@"DELETE FROM dbo.Addresses 
         WHERE NAME IN('John', 'Name 2', 'Name 3');"); 
     } 
    } 
} 
+0

Thanx, это может делать то, что я хочу. – Robby

0

Метод Seed DbMigrationsConfiguration будет выполняться после каждой миграции применяется или каждый раз, когда его использовали, если AutomaticMigrationsEnabled = истинный

+0

Я хочу определить, какая миграция выполняется. Некоторые семена недействительны для определенных миграций. – Robby

+0

По умолчанию все миграции запускаются до последней версии, поэтому для последней миграции требуется только применить семя. – eoghank

+0

Это то, что я делаю сейчас, но теперь я не могу вернуться назад, когда вы используете мишень миграции, которая старше. то я должен раскомментировать код высева. – Robby

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