private static IHistoryRepository CreateHistoryRepository() { var annotationsProvider = new SqlServerAnnotationProvider(); var sqlGenerator = new SqlServerSqlGenerator(); var typeMapper = new SqlServerTypeMapper(); var commandBuilderFactory = new RelationalCommandBuilderFactory( typeMapper); return(new SqlServerHistoryRepository( Mock.Of <IRelationalDatabaseCreator>(), Mock.Of <ISqlStatementExecutor>(), Mock.Of <ISqlServerConnection>(), new DbContextOptions <DbContext>( new Dictionary <Type, IDbContextOptionsExtension> { { typeof(SqlServerOptionsExtension), new SqlServerOptionsExtension() } }), new MigrationsModelDiffer( annotationsProvider, new SqlServerMigrationsAnnotationProvider()), new SqlServerMigrationsSqlGenerator( commandBuilderFactory, new SqlServerSqlGenerator(), typeMapper, annotationsProvider), annotationsProvider, sqlGenerator)); }
public ScaffoldingDto ScaffoldDatabase(string connectionString, string rootNamespace, string contextName) { var scaffUtils = new ScaffoldingUtilities(); var csharpUtils = new CSharpUtilities(); var provider = new SqlServerAnnotationProvider(); var customConfiguration = new CustomConfiguration(connectionString, contextName, rootNamespace, true); var entityTypeWriter = new EntityTypeWriter(csharpUtils); var dbContextWriter = new SingularDbContextWriter(scaffUtils, csharpUtils); var configurationFactory = new ConfigurationFactory(provider, csharpUtils, scaffUtils); var loggerFactory = new LoggerFactory(); var logger = loggerFactory.CreateLogger <SqlServerDatabaseModelFactory>(); var revEngeConfig = new ReverseEngineeringConfiguration { ConnectionString = connectionString }; var sqlScaffoldModelFactory = new SingularScaffoldingModelFactory(new LoggerFactory(), new SqlServerTypeMapper(), new SqlServerDatabaseModelFactory(logger), new CandidateNamingService()); var codeWriter = new StringBuilderCodeWriter(new FileSystemFileService(), dbContextWriter, entityTypeWriter); var generator = new ReverseEngineeringGenerator(sqlScaffoldModelFactory, configurationFactory, codeWriter); var metaModel = generator.GetMetadataModel(revEngeConfig); var modelConfiguration = configurationFactory.CreateModelConfiguration(metaModel, customConfiguration); var dbContextData = dbContextWriter.WriteCode(modelConfiguration); var scaffoldingDto = new ScaffoldingDto { DbContextSource = dbContextData, ModelSources = modelConfiguration.EntityConfigurations .Select(entityConfiguration => entityTypeWriter.WriteCode(entityConfiguration)) .ToImmutableList() }; return(scaffoldingDto); }
private static IHistoryRepository CreateHistoryRepository(string schema = null) { var annotationsProvider = new SqlServerAnnotationProvider(); var sqlGenerator = new SqlServerSqlGenerationHelper(new RelationalSqlGenerationHelperDependencies()); var typeMapper = new SqlServerTypeMapper(new RelationalTypeMapperDependencies()); var commandBuilderFactory = new RelationalCommandBuilderFactory( new FakeSensitiveDataLogger <RelationalCommandBuilderFactory>(), new DiagnosticListener("Fake"), typeMapper); return(new SqlServerHistoryRepository( new HistoryRepositoryDependencies( Mock.Of <IRelationalDatabaseCreator>(), Mock.Of <IRawSqlCommandBuilder>(), Mock.Of <ISqlServerConnection>(), new DbContextOptions <DbContext>( new Dictionary <Type, IDbContextOptionsExtension> { { typeof(SqlServerOptionsExtension), new SqlServerOptionsExtension { MigrationsHistoryTableSchema = schema } } }), new MigrationsModelDiffer( new SqlServerTypeMapper(new RelationalTypeMapperDependencies()), annotationsProvider, new SqlServerMigrationsAnnotationProvider(new MigrationsAnnotationProviderDependencies())), new SqlServerMigrationsSqlGenerator( new MigrationsSqlGeneratorDependencies( commandBuilderFactory, new SqlServerSqlGenerationHelper(new RelationalSqlGenerationHelperDependencies()), typeMapper, annotationsProvider), new SqlServerMigrationsAnnotationProvider(new MigrationsAnnotationProviderDependencies())), annotationsProvider, sqlGenerator))); }
public SqlServerMigrationsAnnotationProviderTest() { _annotations = new SqlServerAnnotationProvider(new RelationalAnnotationProviderDependencies()); }
public SqlServerMigrationsAnnotationProviderTest() { _modelBuilder = SqlServerTestHelpers.Instance.CreateConventionBuilder(/*skipValidation: true*/); _annotations = new SqlServerAnnotationProvider(new RelationalAnnotationProviderDependencies()); }