/// <summary> /// Initializes a new instance of the <see cref="AzureStorageBlobRepositoryContext" /> class. /// </summary> /// <param name="nameOrConnectionString">Either the database name or a connection string.</param> /// <param name="containerNameBuilder">The name of the container builder.</param> /// <param name="createIfNotExists">Creates the container if it does not exist.</param> /// <param name="serializerSettings">The serializer options to use when serializing to JSON.</param> public AzureStorageBlobRepositoryContextFactory(string nameOrConnectionString, IAzureStorageBlobContainerNameBuilder containerNameBuilder, bool createIfNotExists, JsonSerializerSettings serializerSettings = null) { _nameOrConnectionString = Guard.NotEmpty(nameOrConnectionString, nameof(nameOrConnectionString)); _containerNameBuilder = Guard.NotNull(containerNameBuilder, nameof(containerNameBuilder)); _createIfNotExists = createIfNotExists; _serializerSettings = serializerSettings; }
public AzureStorageBlobRepositoryContext(string connectionString, IAzureStorageBlobContainerNameBuilder containerNameBuilder = null, bool createIfNotExists = false, JsonSerializerSettings serializerSettings = null) { Guard.NotEmpty(connectionString, nameof(connectionString)); _containerNameBuilder = containerNameBuilder ?? new DefaultContainerNameBuilder(); _createContainerIfNotExists = createIfNotExists; _serializerSettings = serializerSettings; Client = new BlobServiceClient(connectionString); }
/// <summary> /// Configures the context to use the azure storage blob service with a connection string. /// </summary> /// <param name="source">The repository options builder.</param> /// <param name="connectionString">The connection string.</param> /// <param name="containerNameBuilder">The name of the container builder.</param> /// <param name="createIfNotExists">Creates the container if it does not exist.</param> /// <param name="serializerSettings">The serializer options to use when serializing to JSON.</param> /// <returns>The same builder instance.</returns> public static RepositoryOptionsBuilder UseAzureStorageBlob([NotNull] this RepositoryOptionsBuilder source, [NotNull] string connectionString, IAzureStorageBlobContainerNameBuilder containerNameBuilder, bool createIfNotExists = false, JsonSerializerSettings serializerSettings = null) { Guard.NotNull(source, nameof(source)); Guard.NotEmpty(connectionString, nameof(connectionString)); Guard.NotNull(containerNameBuilder, nameof(containerNameBuilder)); source.UseInternalContextFactory( new AzureStorageBlobRepositoryContextFactory(connectionString, containerNameBuilder, createIfNotExists, serializerSettings)); return(source); }