public void Can_add_extension_with_migration_assembly()
        {
            var options = new DbContextOptions <DbContext>();

            options = options.UseMigrationAssembly(typeof(string).Assembly);

            var extension = MigrationsOptionsExtension.Extract(options);

            Assert.Same(typeof(string).Assembly, extension.MigrationAssembly);
        }
Beispiel #2
0
        private DbContext CreateContext(Type type)
        {
            var context = ContextTool.CreateContext(type);

            var scopedServiceProvider = ((IDbContextServices)context).ScopedServiceProvider;
            var options = scopedServiceProvider.GetRequiredService <DbContextService <IDbContextOptions> >();

            var loggerFactory = scopedServiceProvider.GetRequiredService <ILoggerFactory>();

            loggerFactory.AddProvider(_loggerProvider);

            var extension = MigrationsOptionsExtension.Extract(options.Service);

            if (extension == null || extension.MigrationAssembly == null)
            {
                options.Service.AddOrUpdateExtension <MigrationsOptionsExtension>(
                    x => x.MigrationAssembly = _assembly);
            }

            return(context);
        }