public ConnectionStringBuilderFactory(IProviderFactories providerFactories)
 {
     this.ProviderFactories = providerFactories ?? throw new ArgumentNullException(nameof(providerFactories));
 }
 public DatabaseManagerFactory(IApplicationDomain applicationDomain, IConnectionStringBuilderFactory connectionStringBuilderFactory, IFileSystem fileSystem, IProviderFactories providerFactories)
 {
     this.ApplicationDomain = applicationDomain ?? throw new ArgumentNullException(nameof(applicationDomain));
     this.ConnectionStringBuilderFactory = connectionStringBuilderFactory ?? throw new ArgumentNullException(nameof(connectionStringBuilderFactory));
     this.FileSystem        = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
     this.ProviderFactories = providerFactories ?? throw new ArgumentNullException(nameof(providerFactories));
 }