public CosmosDbClient( IServiceProvider serviceProvider, CosmosDbConnection connection, CosmosDbConfig dbConfig, IEnumerable <ContainerDefinition> containerDefinitions) { this.ServiceProvider = serviceProvider; IEnumerable <ContainerDefinition> definitions = containerDefinitions as ContainerDefinition[] ?? containerDefinitions.ToArray(); _containerDefinitions = definitions.ToArray(); _sdkClient = new CosmosClient( connection.EndPoint, connection.AuthKey, new CosmosClientOptions() { ConnectionMode = ConnectionMode.Direct, SerializerOptions = new CosmosSerializationOptions() { IgnoreNullValues = true, PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase } }); _lazyDatabase = new AsyncLazy <Database>(async() => { DatabaseResponse resp = await _sdkClient.CreateDatabaseIfNotExistsAsync(dbConfig.DatabaseId, dbConfig.Throughput); foreach (ContainerDefinition containerDefinition in definitions) { await Internal_EnsureContainerExists(resp.Database, containerDefinition); } return(resp.Database); }); }
public CosmosDbBuilder ConnectUsing(string endPoint, string authKey) { _connection = new CosmosDbConnection(endPoint, authKey); return(this); }
public CosmosDbBuilder ReadConfiguration(IConfiguration config) { _connection = new CosmosDbConnection(config); _dbconfig = new CosmosDbConfig(config); return(this); }