public static IStorageBuilder AddSqlServerBlob(this IStorageBuilder builder, string name, Action <SqlServerBlobOptions> configure) { builder.AddBlobClient <SqlServerBlobClient, SqlServerBlobOptions>(name, configure); builder.Services.AddDbContext <BlobDbContext>((serviceProvider, dbContextBuilder) => { var optionsMonitor = serviceProvider.GetRequiredService <IOptionsMonitor <SqlServerBlobOptions> >(); var options = optionsMonitor.Get(Helpers.GetQualifiedBlobName(name)); dbContextBuilder.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); dbContextBuilder.UseSqlServer(options.ConnectionString); }, ServiceLifetime.Singleton, ServiceLifetime.Singleton); return(builder); }
public static IStorageBuilder AddAzureBlob(this IStorageBuilder storageBuilder, string name, ServiceLifetime serviceLifetime, Action <AzureBlobConfiguration> configure) { storageBuilder.AddBlobClient <AzureBlobClient>(name, serviceLifetime).Configure(configure); return(storageBuilder); }