/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="HistoryRepository" />. /// </para> /// <para> /// Do not call this constructor directly from either provider or application code as it may change /// as new dependencies are added. Instead, use this type in your constructor so that an instance /// will be created and injected automatically by the dependency injection container. To create /// an instance with some dependent services replaced, first resolve the object from the dependency /// injection container, then replace selected services using the 'With...' methods. Do not call /// the constructor at any point in this process. /// </para> /// <para> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </para> /// </summary> /// <param name="databaseCreator"> The database creator. </param> /// <param name="rawSqlCommandBuilder"> A command builder for building raw SQL commands. </param> /// <param name="connection"> The connection to the database. </param> /// <param name="options"> Options for the current context instance. </param> /// <param name="modelDiffer"> The model differ. </param> /// <param name="migrationsSqlGenerator"> The SQL generator for Migrations operations. </param> /// <param name="sqlGenerationHelper"> Helpers for generating update SQL. </param> /// <param name="coreConventionSetBuilder"> The core convention set to use when creating the model. </param> /// <param name="conventionSetBuilders"> The convention sets to use when creating the model. </param> public HistoryRepositoryDependencies( [NotNull] IRelationalDatabaseCreator databaseCreator, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlGenerationHelper sqlGenerationHelper, [NotNull] ICoreConventionSetBuilder coreConventionSetBuilder, [NotNull] IEnumerable <IConventionSetBuilder> conventionSetBuilders) { Check.NotNull(databaseCreator, nameof(databaseCreator)); Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); Check.NotNull(connection, nameof(connection)); Check.NotNull(options, nameof(options)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(sqlGenerationHelper, nameof(sqlGenerationHelper)); Check.NotNull(coreConventionSetBuilder, nameof(coreConventionSetBuilder)); Check.NotNull(conventionSetBuilders, nameof(conventionSetBuilders)); DatabaseCreator = databaseCreator; RawSqlCommandBuilder = rawSqlCommandBuilder; Connection = connection; Options = options; ModelDiffer = modelDiffer; MigrationsSqlGenerator = migrationsSqlGenerator; SqlGenerationHelper = sqlGenerationHelper; CoreConventionSetBuilder = coreConventionSetBuilder; ConventionSetBuilder = new CompositeConventionSetBuilder((IReadOnlyList <IConventionSetBuilder>)conventionSetBuilders); }
public RelationalDatabaseCreatorDependencies( [NotNull] IModel model, [NotNull] IRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IMigrationCommandExecutor migrationCommandExecutor, [NotNull] ISqlGenerationHelper sqlGenerationHelper, [NotNull] IExecutionStrategyFactory executionStrategyFactory, [NotNull] IDiagnosticsLogger <DbLoggerCategory.Database.Command> commandLogger) { Check.NotNull(model, nameof(model)); Check.NotNull(connection, nameof(connection)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(migrationCommandExecutor, nameof(migrationCommandExecutor)); Check.NotNull(sqlGenerationHelper, nameof(sqlGenerationHelper)); Check.NotNull(executionStrategyFactory, nameof(executionStrategyFactory)); Check.NotNull(commandLogger, nameof(commandLogger)); Model = model; Connection = connection; ModelDiffer = modelDiffer; MigrationsSqlGenerator = migrationsSqlGenerator; MigrationCommandExecutor = migrationCommandExecutor; SqlGenerationHelper = sqlGenerationHelper; ExecutionStrategyFactory = executionStrategyFactory; CommandLogger = commandLogger; }
/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="MigrationsScaffolder" />. /// </para> /// <para> /// Do not call this constructor directly from either provider or application code as it may change /// as new dependencies are added. Instead, use this type in your constructor so that an instance /// will be created and injected automatically by the dependency injection container. To create /// an instance with some dependent services replaced, first resolve the object from the dependency /// injection container, then replace selected services using the 'With...' methods. Do not call /// the constructor at any point in this process. /// </para> /// <para> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </para> /// </summary> /// <param name="currentDbContext"> The current DbContext. </param> /// <param name="model"> The model. </param> /// <param name="migrationsAssembly"> The migrations assembly. </param> /// <param name="migrationsModelDiffer"> The migrations model differ. </param> /// <param name="migrationsIdGenerator"> The migrations ID generator. </param> /// <param name="migrationCodeGenerator"> The migrations code generator. </param> /// <param name="historyRepository"> The history repository. </param> /// <param name="operationReporter"> The operation reporter. </param> /// <param name="databaseProvider"> The database provider. </param> /// <param name="snapshotModelProcessor"> The snapshot model processor. </param> public MigrationsScaffolderDependencies( [NotNull] ICurrentDbContext currentDbContext, [NotNull] IModel model, [NotNull] IMigrationsAssembly migrationsAssembly, [NotNull] IMigrationsModelDiffer migrationsModelDiffer, [NotNull] IMigrationsIdGenerator migrationsIdGenerator, [NotNull] IMigrationsCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] IOperationReporter operationReporter, [NotNull] IDatabaseProvider databaseProvider, [NotNull] ISnapshotModelProcessor snapshotModelProcessor) { Check.NotNull(currentDbContext, nameof(currentDbContext)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationsAssembly, nameof(migrationsAssembly)); Check.NotNull(migrationsModelDiffer, nameof(migrationsModelDiffer)); Check.NotNull(migrationsIdGenerator, nameof(migrationsIdGenerator)); Check.NotNull(migrationCodeGenerator, nameof(migrationCodeGenerator)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(operationReporter, nameof(operationReporter)); Check.NotNull(databaseProvider, nameof(databaseProvider)); Check.NotNull(snapshotModelProcessor, nameof(snapshotModelProcessor)); CurrentDbContext = currentDbContext; Model = model; MigrationsAssembly = migrationsAssembly; MigrationsModelDiffer = migrationsModelDiffer; MigrationsIdGenerator = migrationsIdGenerator; MigrationCodeGenerator = migrationCodeGenerator; HistoryRepository = historyRepository; OperationReporter = operationReporter; DatabaseProvider = databaseProvider; SnapshotModelProcessor = snapshotModelProcessor; }
public static void DropTables(this DbContext dbContext, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator sqlGenerator, bool failSilently = false) { var downOperations = modelDiffer.GetDifferences(dbContext.Model, null); var sqlDownOperations = sqlGenerator.Generate(downOperations); using (var t = dbContext.Database.BeginTransaction()) { foreach (var operation in sqlDownOperations) { try { operation.ExecuteNonQuery(t.Connection); } catch (Exception e) { if (!failSilently) { throw e; } } } t.Commit(); } }
public MigrationScaffolder( [NotNull] DbContext context, [NotNull] IModel model, [NotNull] IMigrationsAssembly migrationsAssembly, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsIdGenerator idGenerator, [NotNull] MigrationCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILoggerFactory loggerFactory) { Check.NotNull(context, nameof(context)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationsAssembly, nameof(migrationsAssembly)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(migrationCodeGenerator, nameof(migrationCodeGenerator)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(loggerFactory, nameof(loggerFactory)); _contextType = context.GetType(); _model = model; _migrationsAssembly = migrationsAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = new LazyRef <ILogger>(loggerFactory.CreateLogger <MigrationScaffolder>); }
/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="HistoryRepository" />. /// </para> /// <para> /// Do not call this constructor directly from either provider or application code as it may change /// as new dependencies are added. Instead, use this type in your constructor so that an instance /// will be created and injected automatically by the dependency injection container. To create /// an instance with some dependent services replaced, first resolve the object from the dependency /// injection container, then replace selected services using the 'With...' methods. Do not call /// the constructor at any point in this process. /// </para> /// <para> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </para> /// </summary> /// <param name="databaseCreator"> The database creator. </param> /// <param name="rawSqlCommandBuilder"> A command builder for building raw SQL commands. </param> /// <param name="connection"> The connection to the database. </param> /// <param name="options"> Options for the current context instance. </param> /// <param name="modelDiffer"> The model differ. </param> /// <param name="migrationsSqlGenerator"> The SQL generator for Migrations operations. </param> /// <param name="sqlGenerationHelper"> Helpers for generating update SQL. </param> public HistoryRepositoryDependencies( [NotNull] IRelationalDatabaseCreator databaseCreator, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlGenerationHelper sqlGenerationHelper) { Check.NotNull(databaseCreator, nameof(databaseCreator)); Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); Check.NotNull(connection, nameof(connection)); Check.NotNull(options, nameof(options)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(sqlGenerationHelper, nameof(sqlGenerationHelper)); DatabaseCreator = databaseCreator; RawSqlCommandBuilder = rawSqlCommandBuilder; Connection = connection; Options = options; ModelDiffer = modelDiffer; MigrationsSqlGenerator = migrationsSqlGenerator; SqlGenerationHelper = sqlGenerationHelper; }
/// <summary> /// <para> /// Creates the service dependencies parameter object for a <see cref="HistoryRepository" />. /// </para> /// <para> /// Do not call this constructor directly from either provider or application code as it may change /// as new dependencies are added. Instead, use this type in your constructor so that an instance /// will be created and injected automatically by the dependency injection container. To create /// an instance with some dependent services replaced, first resolve the object from the dependency /// injection container, then replace selected services using the 'With...' methods. Do not call /// the constructor at any point in this process. /// </para> /// <para> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </para> /// </summary> /// <param name="databaseCreator"> The database creator. </param> /// <param name="rawSqlCommandBuilder"> A command builder for building raw SQL commands. </param> /// <param name="connection"> The connection to the database. </param> /// <param name="options"> Options for the current context instance. </param> /// <param name="modelDiffer"> The model differ. </param> /// <param name="migrationsSqlGenerator"> The SQL generator for Migrations operations. </param> /// <param name="sqlGenerationHelper"> Helpers for generating update SQL. </param> /// <param name="conventionSetBuilder"> The convention set to use when creating the model. </param> /// <param name="typeMappingSource"> The type mapper. </param> /// <param name="modelLogger"> The logger for model building events. </param> public HistoryRepositoryDependencies( [NotNull] IRelationalDatabaseCreator databaseCreator, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlGenerationHelper sqlGenerationHelper, [NotNull] IConventionSetBuilder conventionSetBuilder, [NotNull] IRelationalTypeMappingSource typeMappingSource, [NotNull] IDiagnosticsLogger <DbLoggerCategory.Model> modelLogger) { Check.NotNull(databaseCreator, nameof(databaseCreator)); Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); Check.NotNull(connection, nameof(connection)); Check.NotNull(options, nameof(options)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(sqlGenerationHelper, nameof(sqlGenerationHelper)); Check.NotNull(conventionSetBuilder, nameof(conventionSetBuilder)); Check.NotNull(typeMappingSource, nameof(typeMappingSource)); Check.NotNull(modelLogger, nameof(modelLogger)); DatabaseCreator = databaseCreator; RawSqlCommandBuilder = rawSqlCommandBuilder; Connection = connection; Options = options; ModelDiffer = modelDiffer; MigrationsSqlGenerator = migrationsSqlGenerator; SqlGenerationHelper = sqlGenerationHelper; ConventionSetBuilder = conventionSetBuilder; TypeMappingSource = typeMappingSource; ModelLogger = modelLogger; }
public MigrationsScaffolder( [NotNull] DbContext context, [NotNull] IModel model, [NotNull] IMigrationsAssembly migrationsAssembly, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsIdGenerator idGenerator, [NotNull] MigrationsCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILoggerFactory loggerFactory, [NotNull] IDatabaseProviderServices providerServices) { Check.NotNull(context, nameof(context)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationsAssembly, nameof(migrationsAssembly)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(migrationCodeGenerator, nameof(migrationCodeGenerator)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(loggerFactory, nameof(loggerFactory)); Check.NotNull(providerServices, nameof(providerServices)); _contextType = context.GetType(); _model = model; _migrationsAssembly = migrationsAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = new LazyRef <ILogger>(() => loggerFactory.CreateCommandsLogger()); _activeProvider = providerServices.InvariantName; }
public MigrationsScaffolder( [NotNull] DbContext context, [NotNull] IModel model, [NotNull] IMigrationsAssembly migrationsAssembly, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsIdGenerator idGenerator, [NotNull] MigrationsCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILoggerFactory loggerFactory, [NotNull] IDatabaseProviderServices providerServices) { Check.NotNull(context, nameof(context)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationsAssembly, nameof(migrationsAssembly)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(migrationCodeGenerator, nameof(migrationCodeGenerator)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(loggerFactory, nameof(loggerFactory)); Check.NotNull(providerServices, nameof(providerServices)); _contextType = context.GetType(); _model = model; _migrationsAssembly = migrationsAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = new LazyRef<ILogger>(() => loggerFactory.CreateCommandsLogger()); _activeProvider = providerServices.InvariantName; }
public MigrationsScaffolder( [NotNull] ICurrentDbContext currentContext, [NotNull] IModel model, [NotNull] IMigrationsAssembly migrationsAssembly, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsIdGenerator idGenerator, [NotNull] MigrationsCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILogger <MigrationsScaffolder> logger, [NotNull] IDatabaseProvider databaseProvider) { Check.NotNull(currentContext, nameof(currentContext)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationsAssembly, nameof(migrationsAssembly)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(migrationCodeGenerator, nameof(migrationCodeGenerator)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(logger, nameof(logger)); Check.NotNull(databaseProvider, nameof(databaseProvider)); _contextType = currentContext.Context.GetType(); _model = model; _migrationsAssembly = migrationsAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = logger; _activeProvider = databaseProvider.InvariantName; }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="modelDiffer"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public RelationalDatabaseCreatorDependencies With([NotNull] IMigrationsModelDiffer modelDiffer) => new RelationalDatabaseCreatorDependencies( Model, Connection, modelDiffer, MigrationsSqlGenerator, MigrationCommandExecutor, ExecutionStrategyFactory);
public ComponentStoreStarter(IMigrationsModelDiffer modelDiffer, MigrationsSqlGenerator sqlGenerator, IEntityFrameworkDataProvider dataProvider) { _modelDiffer = modelDiffer; _sqlGenerator = sqlGenerator; _dataProvider = dataProvider; }
public TestDatabaseCreator( ISqlServerConnection connection, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator sqlGenerator, ISqlStatementExecutor statementExecutor, IModel model) : base(connection, modelDiffer, sqlGenerator, statementExecutor, model) { }
public SqliteDatabaseCreator( [NotNull] IRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlStatementExecutor sqlStatementExecutor, [NotNull] IModel model) : base(model, connection, modelDiffer, migrationsSqlGenerator, sqlStatementExecutor) { }
public TestDatabaseCreator( ISqlServerConnection connection, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator sqlGenerator, IModel model, IRawSqlCommandBuilder rawSqlCommandBuilder) : base(connection, modelDiffer, sqlGenerator, model, rawSqlCommandBuilder) { }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="modelDiffer"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public HistoryRepositoryDependencies With([NotNull] IMigrationsModelDiffer modelDiffer) => new HistoryRepositoryDependencies( DatabaseCreator, RawSqlCommandBuilder, Connection, Options, modelDiffer, MigrationsSqlGenerator, SqlGenerationHelper);
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be /// used directly from your code. This API may change or be removed in future releases. /// </summary> /// <param name="dependencies">Parameter object containing dependencies for this service.</param> /// <param name="migrationsAnnotations">Provider-specific Migrations annotations to use.</param> /// <param name="migrationsModelDiffer">Migrations Model Differ</param> public SqliteMigrationsSqlGenerator( MigrationsSqlGeneratorDependencies dependencies, IMigrationsAnnotationProvider migrationsAnnotations, IMigrationsModelDiffer migrationsModelDiffer) : base(dependencies) { _migrationsAnnotations = migrationsAnnotations; _migrationsModelDiffer = migrationsModelDiffer; }
public MyRelationalDatabaseCreator( IModel model, IRelationalConnection connection, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator migrationsSqlGenerator, IMigrationCommandExecutor migrationCommandExecutor) : base(model, connection, modelDiffer, migrationsSqlGenerator, migrationCommandExecutor) { }
public SqlServerDatabaseCreator( [NotNull] ISqlServerConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlStatementExecutor statementExecutor, [NotNull] IModel model) : base(model, connection, modelDiffer, migrationsSqlGenerator, statementExecutor) { _connection = connection; _migrationsSqlGenerator = migrationsSqlGenerator; }
public TestDatabaseCreator( NpgsqlRelationalConnection connection, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator sqlGenerator, IMigrationCommandExecutor migrationCommandExecutor, IModel model, IRawSqlCommandBuilder rawSqlCommandBuilder, IExecutionStrategyFactory executionStrategyFactory) : base(connection, modelDiffer, sqlGenerator, migrationCommandExecutor, model, rawSqlCommandBuilder, executionStrategyFactory) { }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="migrationsModelDiffer"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public MigrationsScaffolderDependencies With([NotNull] IMigrationsModelDiffer migrationsModelDiffer) => new MigrationsScaffolderDependencies( CurrentDbContext, Model, MigrationsAssembly, migrationsModelDiffer, MigrationsIdGenerator, MigrationCodeGenerator, HistoryRepository, OperationReporter, DatabaseProvider, SnapshotModelProcessor);
public SqliteDatabaseCreator( [NotNull] IRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IModel model, [NotNull] ISqlCommandBuilder sqlCommandBuilder) : base(model, connection, modelDiffer, migrationsSqlGenerator) { Check.NotNull(sqlCommandBuilder, nameof(sqlCommandBuilder)); _sqlCommandBuilder = sqlCommandBuilder; }
public SqliteDatabaseCreator( [NotNull] SqliteRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IModel model, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder) : base(model, connection, modelDiffer, migrationsSqlGenerator) { Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); _connection = connection; _rawSqlCommandBuilder = rawSqlCommandBuilder; }
/// <summary> /// Clones this dependency parameter object with one service replaced. /// </summary> /// <param name="modelDiffer"> A replacement for the current dependency of this type. </param> /// <returns> A new parameter object with the given service replaced. </returns> public HistoryRepositoryDependencies With([NotNull] IMigrationsModelDiffer modelDiffer) => new HistoryRepositoryDependencies( DatabaseCreator, RawSqlCommandBuilder, Connection, Options, modelDiffer, MigrationsSqlGenerator, SqlGenerationHelper, ConventionSetBuilder, TypeMappingSource, ModelLogger, CommandLogger);
protected HistoryRepository( [NotNull] IDatabaseCreator databaseCreator, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IRelationalAnnotationProvider annotations, [NotNull] ISqlGenerationHelper sqlGenerationHelper) { Check.NotNull(databaseCreator, nameof(databaseCreator)); Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); Check.NotNull(connection, nameof(connection)); Check.NotNull(options, nameof(options)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(annotations, nameof(annotations)); Check.NotNull(sqlGenerationHelper, nameof(sqlGenerationHelper)); _databaseCreator = (IRelationalDatabaseCreator)databaseCreator; _rawSqlCommandBuilder = rawSqlCommandBuilder; _connection = connection; _modelDiffer = modelDiffer; _migrationsSqlGenerator = migrationsSqlGenerator; SqlGenerationHelper = sqlGenerationHelper; var relationalOptions = RelationalOptionsExtension.Extract(options); TableName = relationalOptions?.MigrationsHistoryTableName ?? DefaultTableName; TableSchema = relationalOptions.MigrationsHistoryTableSchema; _model = new LazyRef <IModel>( () => { var modelBuilder = new ModelBuilder(new ConventionSet()); modelBuilder.Entity <HistoryRow>( x => { ConfigureTable(x); x.ToTable(TableName, TableSchema); }); return(modelBuilder.Model); }); var entityType = new LazyRef <IEntityType>(() => _model.Value.FindEntityType(typeof(HistoryRow))); _migrationIdColumnName = new LazyRef <string>( () => annotations.For(entityType.Value.FindProperty(nameof(HistoryRow.MigrationId))).ColumnName); _productVersionColumnName = new LazyRef <string>( () => annotations.For(entityType.Value.FindProperty(nameof(HistoryRow.ProductVersion))).ColumnName); }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public SqlServerDatabaseCreator( [NotNull] ISqlServerConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IMigrationCommandExecutor migrationCommandExecutor, [NotNull] IModel model, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder) : base(model, connection, modelDiffer, migrationsSqlGenerator, migrationCommandExecutor) { Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); _connection = connection; _migrationsSqlGenerator = migrationsSqlGenerator; _rawSqlCommandBuilder = rawSqlCommandBuilder; }
public HistoryRepository( [NotNull] IDatabaseCreator databaseCreator, [NotNull] ISqlStatementExecutor executor, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IRelationalAnnotationProvider annotations, [NotNull] ISqlGenerator sqlGenerator) { Check.NotNull(databaseCreator, nameof(databaseCreator)); Check.NotNull(executor, nameof(executor)); Check.NotNull(connection, nameof(connection)); Check.NotNull(options, nameof(options)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(annotations, nameof(annotations)); Check.NotNull(sqlGenerator, nameof(sqlGenerator)); _databaseCreator = (IRelationalDatabaseCreator)databaseCreator; _executor = executor; _connection = connection; _modelDiffer = modelDiffer; _migrationsSqlGenerator = migrationsSqlGenerator; SqlGenerator = sqlGenerator; var relationalOptions = RelationalOptionsExtension.Extract(options); TableName = relationalOptions?.MigrationsHistoryTableName ?? DefaultTableName; TableSchema = relationalOptions.MigrationsHistoryTableSchema; _model = new LazyRef<IModel>( () => { var modelBuilder = new ModelBuilder(new ConventionSet()); modelBuilder.Entity<HistoryRow>( x => { ConfigureTable(x); x.ToTable(TableName, TableSchema); }); return modelBuilder.Model; }); var entityType = new LazyRef<IEntityType>(() => _model.Value.GetEntityType(typeof(HistoryRow))); _migrationIdColumnName = new LazyRef<string>( () => annotations.For(entityType.Value.FindProperty(nameof(HistoryRow.MigrationId))).ColumnName); _productVersionColumnName = new LazyRef<string>( () => annotations.For(entityType.Value.FindProperty(nameof(HistoryRow.ProductVersion))).ColumnName); }
protected RelationalDatabaseCreator( [NotNull] IModel model, [NotNull] IRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator) { Check.NotNull(model, nameof(model)); Check.NotNull(connection, nameof(connection)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Model = model; Connection = connection; _modelDiffer = modelDiffer; _migrationsSqlGenerator = migrationsSqlGenerator; }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public MySqlDatabaseCreator( [NotNull] MySqlRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IMigrationCommandExecutor migrationCommandExecutor, [NotNull] IModel model, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IExecutionStrategyFactory executionStrategyFactory) : base(model, connection, modelDiffer, migrationsSqlGenerator, migrationCommandExecutor, executionStrategyFactory) { Check.NotNull(rawSqlCommandBuilder, nameof(rawSqlCommandBuilder)); _connection = connection; _migrationsSqlGenerator = migrationsSqlGenerator; _rawSqlCommandBuilder = rawSqlCommandBuilder; }
public SqliteDatabaseCreator( [NotNull] IRelationalConnection connection, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] ISqlStatementExecutor sqlStatementExecutor, [NotNull] IModel model) : base(model) { Check.NotNull(connection, nameof(connection)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(migrationsSqlGenerator, nameof(migrationsSqlGenerator)); Check.NotNull(sqlStatementExecutor, nameof(sqlStatementExecutor)); _connection = connection; _modelDiffer = modelDiffer; _migrationsSqlGenerator = migrationsSqlGenerator; _executor = sqlStatementExecutor; }
public MySQLDatabaseCreator( MySQLRelationalConnection cxn, IMigrationsModelDiffer differ, IMigrationsSqlGenerator generator, IMigrationCommandExecutor executor, IModel model, IRawSqlCommandBuilder commandBuilder) : base(model, cxn, differ, generator, executor) { ThrowIf.Argument.IsNull(cxn, "connection"); ThrowIf.Argument.IsNull(differ, "modelDiffer"); ThrowIf.Argument.IsNull(generator, "generator"); ThrowIf.Argument.IsNull(commandBuilder, "commandBuilder"); _connection = cxn; _sqlGenerator = generator; _commandExecutor = executor; _commandBuilder = commandBuilder; }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public SqliteHistoryRepository( [NotNull] IDatabaseCreator databaseCreator, [NotNull] IRawSqlCommandBuilder rawSqlCommandBuilder, [NotNull] IRelationalConnection connection, [NotNull] IDbContextOptions options, [NotNull] IMigrationsModelDiffer modelDiffer, [NotNull] IMigrationsSqlGenerator migrationsSqlGenerator, [NotNull] IRelationalAnnotationProvider annotations, [NotNull] ISqlGenerationHelper sqlGenerationHelper) : base( databaseCreator, rawSqlCommandBuilder, connection, options, modelDiffer, migrationsSqlGenerator, annotations, sqlGenerationHelper) { }
public MyHistoryRepository( IDatabaseCreator databaseCreator, IRawSqlCommandBuilder rawSqlCommandBuilder, IRelationalConnection connection, IDbContextOptions options, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator migrationsSqlGenerator, IRelationalAnnotationProvider annotations, ISqlGenerationHelper sqlGenerationHelper) : base(databaseCreator, rawSqlCommandBuilder, connection, options, modelDiffer, migrationsSqlGenerator, annotations, sqlGenerationHelper ) { }
public MyRelationalDatabaseCreator(IModel model, IRelationalConnection connection, IMigrationsModelDiffer modelDiffer, IMigrationsSqlGenerator migrationsSqlGenerator) : base(model, connection, modelDiffer, migrationsSqlGenerator) { }