Exemplo n.º 1
0
 private CosmosDbService(CosmosClient dbClient,
                         string databaseName,
                         Utils.UidGenerator <ItemType> idGenerator)
 {
     _idGenerator = idGenerator;
     _client      = dbClient;
     _container   = dbClient.GetContainer(databaseName, DataModels.CosmosDbPartitionedItem <ItemType> .ContainerName);
 }
Exemplo n.º 2
0
        /// <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);
        }