public static IBlobServiceBuilder AddFileSystemStorageService <T>(this IBlobServiceBuilder builder, Action <FileSystemStorageOptions> setupAction = null) where T : FileSystemStorageService { var fileSystemStorageOptions = new FileSystemStorageOptions(); setupAction?.Invoke(fileSystemStorageOptions); fileSystemStorageOptions.TryValidate(); builder.Services.AddSingleton(fileSystemStorageOptions); builder.Services.AddScoped <IStorageService, T>(); return(builder); }
public static IBlobServiceBuilder AddEfMetaStores <TContext>(this IBlobServiceBuilder builder, Action <EfStoreOptions> setupAction = null) where TContext : BlobServiceContext { var efStoreOptions = new EfStoreOptions(); setupAction?.Invoke(efStoreOptions); builder.Services.AddSingleton(efStoreOptions); builder.Services .AddEntityFrameworkSqlServer() .AddDbContext <TContext>(); builder.Services.AddScoped <IBlobStore, EfBlobStore <TContext> >(); builder.Services.AddScoped <IContainerStore, EfContainerStore <TContext> >(); builder.Services.AddScoped <IBlobMetaDataStore, EfBlobMetaDataStore <TContext> >(); return(builder); }