public static void EnsureMigrationsApplied(this SalesDbContext context) { var applied = context.GetService <IHistoryRepository>() .GetAppliedMigrations() .Select(migration => migration.MigrationId); var total = context.GetService <IMigrationsAssembly>() .Migrations .Select(migration => migration.Key); if (total.Except(applied).Any()) { context.Database.Migrate(); } }