public MigrationScaffolder( [NotNull] DbContext context, [NotNull] IModel model, [NotNull] IMigrationAssembly migrationAssembly, [NotNull] IModelDiffer modelDiffer, [NotNull] IMigrationIdGenerator idGenerator, [NotNull] MigrationCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILoggerFactory loggerFactory, [NotNull] IMigrationModelFactory modelFactory) { Check.NotNull(context, nameof(context)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationAssembly, nameof(migrationAssembly)); 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(modelFactory, nameof(modelFactory)); _contextType = context.GetType(); _model = model; _migrationAssembly = migrationAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = new LazyRef <ILogger>(loggerFactory.CreateLogger <MigrationScaffolder>); _modelFactory = modelFactory; }
public MigrationScaffolder( [NotNull] DbContext context, [NotNull] IModel model, [NotNull] IMigrationAssembly migrationAssembly, [NotNull] IModelDiffer modelDiffer, [NotNull] IMigrationIdGenerator idGenerator, [NotNull] MigrationCodeGenerator migrationCodeGenerator, [NotNull] IHistoryRepository historyRepository, [NotNull] ILoggerFactory loggerFactory, [NotNull] IMigrationModelFactory modelFactory) { Check.NotNull(context, nameof(context)); Check.NotNull(model, nameof(model)); Check.NotNull(migrationAssembly, nameof(migrationAssembly)); 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(modelFactory, nameof(modelFactory)); _contextType = context.GetType(); _model = model; _migrationAssembly = migrationAssembly; _modelDiffer = modelDiffer; _idGenerator = idGenerator; _migrationCodeGenerator = migrationCodeGenerator; _historyRepository = historyRepository; _logger = new LazyRef<ILogger>(loggerFactory.CreateLogger<MigrationScaffolder>); _modelFactory = modelFactory; }
public Migrator( [NotNull] IMigrationAssembly migrationAssembly, [NotNull] IHistoryRepository historyRepository, [NotNull] IDataStoreCreator dataStoreCreator, [NotNull] IMigrationSqlGenerator migrationSqlGenerator, [NotNull] ISqlStatementExecutor executor, [NotNull] IRelationalConnection connection, [NotNull] IModelDiffer modelDiffer, [NotNull] IModel model, [NotNull] IMigrationIdGenerator idGenerator, [NotNull] ISqlGenerator sqlGenerator, [NotNull] ILoggerFactory loggerFactory, [NotNull] IMigrationModelFactory modelFactory) { Check.NotNull(migrationAssembly, nameof(migrationAssembly)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(dataStoreCreator, nameof(dataStoreCreator)); Check.NotNull(migrationSqlGenerator, nameof(migrationSqlGenerator)); Check.NotNull(executor, nameof(executor)); Check.NotNull(connection, nameof(connection)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(model, nameof(model)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(sqlGenerator, nameof(sqlGenerator)); Check.NotNull(loggerFactory, nameof(loggerFactory)); Check.NotNull(modelFactory, nameof(modelFactory)); _migrationAssembly = migrationAssembly; _historyRepository = historyRepository; _dataStoreCreator = (IRelationalDataStoreCreator)dataStoreCreator; _migrationSqlGenerator = migrationSqlGenerator; _executor = executor; _connection = connection; _modelDiffer = modelDiffer; _model = model; _idGenerator = idGenerator; _sqlGenerator = sqlGenerator; _logger = new LazyRef<ILogger>(loggerFactory.CreateLogger<Migrator>); _modelFactory = modelFactory; }
public Migrator( [NotNull] IMigrationAssembly migrationAssembly, [NotNull] IHistoryRepository historyRepository, [NotNull] IDataStoreCreator dataStoreCreator, [NotNull] IMigrationSqlGenerator migrationSqlGenerator, [NotNull] ISqlStatementExecutor executor, [NotNull] IRelationalConnection connection, [NotNull] IModelDiffer modelDiffer, [NotNull] IModel model, [NotNull] IMigrationIdGenerator idGenerator, [NotNull] ISqlGenerator sqlGenerator, [NotNull] ILoggerFactory loggerFactory, [NotNull] IMigrationModelFactory modelFactory) { Check.NotNull(migrationAssembly, nameof(migrationAssembly)); Check.NotNull(historyRepository, nameof(historyRepository)); Check.NotNull(dataStoreCreator, nameof(dataStoreCreator)); Check.NotNull(migrationSqlGenerator, nameof(migrationSqlGenerator)); Check.NotNull(executor, nameof(executor)); Check.NotNull(connection, nameof(connection)); Check.NotNull(modelDiffer, nameof(modelDiffer)); Check.NotNull(model, nameof(model)); Check.NotNull(idGenerator, nameof(idGenerator)); Check.NotNull(sqlGenerator, nameof(sqlGenerator)); Check.NotNull(loggerFactory, nameof(loggerFactory)); Check.NotNull(modelFactory, nameof(modelFactory)); _migrationAssembly = migrationAssembly; _historyRepository = historyRepository; _dataStoreCreator = (IRelationalDataStoreCreator)dataStoreCreator; _migrationSqlGenerator = migrationSqlGenerator; _executor = executor; _connection = connection; _modelDiffer = modelDiffer; _model = model; _idGenerator = idGenerator; _sqlGenerator = sqlGenerator; _logger = new LazyRef <ILogger>(loggerFactory.CreateLogger <Migrator>); _modelFactory = modelFactory; }
public MigrationAssembly( [NotNull] DbContext context, [NotNull] IDbContextOptions options, [NotNull] IMigrationModelFactory modelFactory) { Check.NotNull(context, nameof(context)); Check.NotNull(options, nameof(options)); Check.NotNull(modelFactory, nameof(modelFactory)); var contextType = context.GetType(); var assemblyName = RelationalOptionsExtension.Extract(options)?.MigrationsAssembly; var assembly = assemblyName == null ? contextType.GetTypeInfo().Assembly : Assembly.Load(new AssemblyName(assemblyName)); _migrations = new LazyRef <IReadOnlyList <Migration> >( () => GetMigrationTypes(assembly) .Where(t => TryGetContextType(t) == contextType) .Select(t => (Migration)Activator.CreateInstance(t.AsType())) .OrderBy(m => m.Id) .ToList()); _modelSnapshot = new LazyRef <ModelSnapshot>( () => ( from t in GetTypes(assembly) where t.IsSubclassOf(typeof(ModelSnapshot)) && TryGetContextType(t) == contextType select(ModelSnapshot) Activator.CreateInstance(t.AsType())) .FirstOrDefault()); _lastModel = new LazyRef <IModel>( () => { if (_modelSnapshot.Value == null) { return(null); } return(modelFactory.Create(_modelSnapshot.Value.BuildModel)); }); }