public MongoDbProvider(MongoDbContextSettings contextSettings)
        {
            DbSets = new List <object>();
            var connection = new MongoUrlBuilder(contextSettings.ConnectionString);
            var client     = new MongoClient(contextSettings.ConnectionString);

            this.Database           = client.GetDatabase(connection.DatabaseName);
            DropCollectionsEachTime = contextSettings.DropCollectionsEachTime;
            ICustomServiceCollection serviceCollection = new CustomServiceCollection();

            this.ConfigureServices(serviceCollection);
            this.ServiceProvider = serviceCollection.BuildServiceProvider();
            TypeInititalizer     = ServiceProvider.GetService <ITypeInitializer>();
        }
 protected DocumentDbContext(MongoDbContextSettings mongoSettings)
     : this(new MongoDbProvider.MongoDbProvider(mongoSettings))
 {
 }