Beispiel #1
0
        public DbMigrator CreateMigrator <TContext>(
            DbMigration migration,
            IEnumerable <Tuple <string, MigrationSqlGenerator> > sqlGenerators = null,
            bool automaticDataLossEnabled = false)
            where TContext : DbContext
        {
            using (var context = CreateContext <TContext>())
            {
                var operations = migration.GetOperations();

                var generatedMigration
                    = CodeGenerator
                      .Generate(
                          GenerateUniqueMigrationName(migration.GetType().Name),
                          operations,
                          Convert.ToBase64String(CompressModel(GetModel(context))),
                          Convert.ToBase64String(CompressModel(GetModel(context))),
                          "System.Data.Entity.Migrations",
                          migration.GetType().Name);

                return(new DbMigrator(CreateMigrationsConfiguration <TContext>(
                                          scaffoldedMigrations: generatedMigration,
                                          sqlGenerators: sqlGenerators,
                                          automaticDataLossEnabled: automaticDataLossEnabled)));
            }
        }
        public DbMigrator CreateMigrator <TContext>(DbMigration migration)
            where TContext : DbContext
        {
            var modelCompressor = new ModelCompressor();

            var generatedMigration
                = CodeGenerator
                  .Generate(
                      UtcNowGenerator.UtcNowAsMigrationIdTimestamp() + "_" + migration.GetType().Name,
                      migration.GetOperations(),
                      Convert.ToBase64String(modelCompressor.Compress(CreateContext <TContext>().GetModel())),
                      Convert.ToBase64String(modelCompressor.Compress(CreateContext <TContext>().GetModel())),
                      "System.Data.Entity.Migrations",
                      migration.GetType().Name);

            return(new DbMigrator(CreateMigrationsConfiguration <TContext>(scaffoldedMigrations: generatedMigration)));
        }
Beispiel #3
0
        public DbMigrator CreateMigrator <TContext>(DbMigration migration)
            where TContext : DbContext
        {
            using (var context = CreateContext <TContext>())
            {
                var generatedMigration
                    = CodeGenerator
                      .Generate(
                          GenerateUniqueMigrationName(migration.GetType().Name),
                          migration.GetOperations(),
                          Convert.ToBase64String(CompressModel(GetModel(context))),
                          Convert.ToBase64String(CompressModel(GetModel(context))),
                          "System.Data.Entity.Migrations",
                          migration.GetType().Name);

                return(new DbMigrator(CreateMigrationsConfiguration <TContext>(scaffoldedMigrations: generatedMigration)));
            }
        }