Я использую Fluent migrator для управления миграцией базы данных, но я бы хотел, чтобы миграция выполнялась при запуске приложения. Самое близкое, что мне удалось, это:
public static void MigrateToLatest(string connectionString)
{
using (var announcer = new TextWriterAnnouncer(Console.Out)
{
ShowElapsedTime = true,
ShowSql = true
})
{
var assembly = typeof(Runner).Assembly.GetName().Name;
var migrationContext = new RunnerContext(announcer)
{
Connection = connectionString,
Database = "SqlServer2008",
Target = assembly
};
var executor = new TaskExecutor(migrationContext);
executor.Execute();
}
}
Я уверен, что у меня это работало, но я не смотрел на него какое-то время (хобби-проект), и теперь он генерирует исключения с нулевой ссылкой, когда доходит до строки Execute
. К сожалению, для этого нет документов, и я целую вечность бился об этом головой.
Кому-нибудь удалось заставить это работать с FluentMigrator?