private static IReadOnlyList <MigrationOperation> Process( MigrationOperationCollection operations, IModel sourceModel, IModel targetModel = null) { var extensionProvider = new SqlServerMetadataExtensionProvider(); var typeMapper = new SqlServerTypeMapper(); var operationFactory = new SqlServerMigrationOperationFactory(extensionProvider); var operationProcessor = new SqlServerMigrationOperationProcessor( extensionProvider, typeMapper, operationFactory); return(operationProcessor.Process(operations, sourceModel, targetModel ?? new Model())); }
private static IReadOnlyList <MigrationOperation> Diff(IModel sourceModel, IModel targetModel) { var extensionProvider = new SqlServerMetadataExtensionProvider(); var typeMapper = new SqlServerTypeMapper(); var operationFactory = new SqlServerMigrationOperationFactory(extensionProvider); var operationProcessor = new SqlServerMigrationOperationProcessor( extensionProvider, typeMapper, operationFactory); var modelDiffer = new SqlServerModelDiffer( extensionProvider, typeMapper, operationFactory, operationProcessor); return(modelDiffer.Diff(sourceModel, targetModel)); }