Пример #1
0
        public void Can_generate_migration_from_user_code_without_cloning_connection()
        {
            var connectionString = SimpleConnectionString("Db471a");

            using (var context = new EmptyContext(connectionString))
            {
                context.Database.Delete();
            }

            using (var context = new Context471(connectionString))
            {
                var migrationConfiguration = new Configuration471(connectionString);
                var migrator = new DbMigrator(migrationConfiguration, context);

                var connectionField = migrator.GetType().GetField(
                    "_connection",
                    BindingFlags.Instance | BindingFlags.NonPublic);

                Assert.Same(context.Database.Connection, connectionField.GetValue(migrator));

                migrator.Update();

                Assert.Same(context.Database.Connection, connectionField.GetValue(migrator));

                migrator = new DbMigrator(migrationConfiguration, context);

                Assert.Same(context.Database.Connection, connectionField.GetValue(migrator));

                migrator.Update();

                Assert.Same(context.Database.Connection, connectionField.GetValue(migrator));
            }
        }