private CosmosDbService(CosmosClient dbClient, string databaseName, Utils.UidGenerator <ItemType> idGenerator) { _idGenerator = idGenerator; _client = dbClient; _container = dbClient.GetContainer(databaseName, DataModels.CosmosDbPartitionedItem <ItemType> .ContainerName); }
/// <summary> /// Gewährleistet, dass die Azure Cosmos Datenbank und Container vorhanden sind, /// dann initialisiert ein Client für den Datenbankdienst. /// </summary> /// <param name="databaseName">Der Name der Datenbank.</param> /// <param name="connectionString">The Verbindungszeichenfolge für die Datenbank.</param> /// <param name="idGenerator">Implementierung für die Beschafung einer einzigartigen ID.</param> /// <returns>Eine erstellte Instanz von <see cref="CosmosDbService{ItemType}"/></returns> public static async Task <CosmosDbService <ItemType> > InitializeCosmosClientInstanceAsync( string databaseName, string connectionString, Utils.UidGenerator <ItemType> idGenerator) { var client = new CosmosClient(connectionString); var service = new CosmosDbService <ItemType>(client, databaseName, idGenerator); DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(databaseName); await response.Database.CreateContainerIfNotExistsAsync( DataModels.CosmosDbPartitionedItem <ItemType> .ContainerName, DataModels.CosmosDbPartitionedItem <ItemType> .PartitionKeyPath); return(service); }