Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using Cqrs.DataStores;
10 : using Cqrs.Entities;
11 : using Microsoft.Azure.Documents.Client;
12 :
13 : namespace Cqrs.Azure.DocumentDb.Factories
14 : {
15 : /// <summary>
16 : /// A factory for getting connections and database names for <see cref="IDataStore{TAuthenticationToken}"/> access.
17 : /// </summary>
18 : public interface IAzureDocumentDbDataStoreConnectionStringFactory
19 : {
20 : /// <summary>
21 : /// Gets the current <see cref="DocumentClient"/>.
22 : /// </summary>
23 1 : DocumentClient GetAzureDocumentDbConnectionClient();
24 :
25 : /// <summary>
26 : /// Gets the current database name.
27 : /// </summary>
28 1 : string GetAzureDocumentDbDatabaseName();
29 :
30 : /// <summary>
31 : /// Gets the current collection name.
32 : /// </summary>
33 1 : string GetAzureDocumentDbCollectionName();
34 :
35 : /// <summary>
36 : /// Indicates if a different collection should be used per <see cref="IEntity"/>/<see cref="IDataStore{TData}"/> or a single collection used for all instances of <see cref="IDataStore{TData}"/> and <see cref="IDataStore{TData}"/>.
37 : /// Setting this to true can become expensive as each <see cref="IEntity"/> will have it's own collection. Check the relevant SDK/pricing models.
38 : /// </summary>
39 1 : bool UseSingleCollectionForAllDataStores();
40 : }
41 : }
|