public string CreateMigrationSql(EntityDatabaseMap entityMap) { DbProviderFactory factory = DbContextInstance.GetDatabaseProviderFactory(); try { SqlQueryProviderLocator.AssertSupported(factory); } catch (NotImplementedException) { Console.WriteLine("ERROR: Unsupported DBMS type"); throw new Exception(); } IQueryGenerator generator = SqlQueryProviderLocator.ResolveQueryProvider(factory); var migrationScriptGenerator = new MigrationScriptGenerator(generator); var migrationScript = migrationScriptGenerator.GenerateMigrationScript(entityMap); return(migrationScript); }
public EntityDatabaseMap BuildEntityMap() { DbContextInstance = (DbContext)Activator.CreateInstance(DbContextType); DbProviderFactory factory = DbContextInstance.GetDatabaseProviderFactory(); try { SqlQueryProviderLocator.AssertSupported(factory); } catch (NotImplementedException) { Console.WriteLine("ERROR: Unsupported DBMS type"); throw new Exception(); } ISqlHelper helper = SqlQueryProviderLocator.ResolveSqlHelper(factory); var entitiesBuilder = new EntityInformationBuilder(helper, new RelationshipMapper()); var entityMap = entitiesBuilder.BuildEntityDatabaseMap(DbContextInstance); return(entityMap); }