0

В настоящее время я использую RoundhousE для управления миграцией базы данных, и это работает очень хорошо.Использует ли Entity Framework код сначала для миграции баз данных в порядке?

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

public class CreateMemberTable : Migration 
{ 
    public override void Up() 
    { 
     Create.Table("Members") 
      .WithNamedIdColumn("MemberId") 
      .WithColumn("Name").AsString().NotNullable(); 
    } 

    public override void Down() 
    { 
     Delete.Table("Members"); 
    } 
} 

Я использовал Entity Framework кода первого до и очень понравился двигатель миграции в том, что он генерирует код на основе миграции, то вы можете сделать какие-либо изменения, которые требуют впоследствии. Однако мне не нужна остальная часть структуры EF, это немного тяжеловес для того, что я ищу.

Было бы приемлемо использовать EF для миграции, но не беспокоиться ни с кем из них? Там также хорошо roundhouse plugin

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

ответ

1

Я считаю, что вы можете, но для этого вам нужно отобразить элементы отображения EF. Из-за этого я не уверен, сколько вы выиграете, не используя EF в своем коде. Но это определенно возможно, оно просто привязано к конструкциям отображения и контексту.

Также можно использовать RH (RoundhousE) RefreshDatabase с помощью только файлов SQL, если вы хотите пройти этот маршрут.

+0

Я установил что-то вроде этого, но из командной строки. Я написал собственное консольное приложение для запуска миграции, чтобы создать скрипт и вставить его в папку вверх. Мне не понравилась идея потерять функциональность от механизма миграции EF, например, изменение размеров столбцов. – Neil