示例#1
0
        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()));
        }
示例#2
0
        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));
        }