---
title: SAIF.NetCore.DBConnectionClient dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: Framework.NCore maintainers
last_reviewed: 2026-10-02
library: SAIF.NetCore.DBConnectionClient
reference_type: package
---

# SAIF.NetCore.DBConnectionClient dependencies

`SAIF.NetCore.DBConnectionClient` depends only on the foundation `SAIF.NetCore.ServiceContracts` package for its interfaces and exception base type, carries no third-party packages in the shipped assembly, and makes its own outbound HTTP calls to a remote DBConnectionAPI service through the injected `IHttpJsonClient` contract at caller request time.

## Internal dependencies

| Dependency | Reference Type | Usage |
| --- | --- | --- |
| [SAIF.NetCore.ServiceContracts](../saif-netcore-servicecontracts/overview.md) | NuGet Package (same-repo) | Implements `IDBConnectionClient`; consumes `IHttpJsonClient`, `IHttpRequestResult`, and `IEnvironmentClient` interfaces, and extends `SAIFException` for `DBClientException`. |

## External dependencies

None in the shipped library. The test project references `coverlet.collector`, `Microsoft.NET.Test.Sdk`, `NSubstitute`, `xunit`, and `xunit.runner.visualstudio`, none of which ship with the package.

## API dependencies

| Endpoint | Method | Called from | Source library | Reached via | Usage |
| --- | --- | --- | --- | --- | --- |
| `/{SqlConnectionEndpoint}/{server}/{instance}/{userName}` (relative to `DBConnectionClient:ServiceUrl`) | GET | `ConnectionClient.GetSqlServerConnection` → `RetrieveConnectionString` | This library | — | Retrieves a formatted SQL Server connection string from the DBConnectionAPI. |
| `/{PostgreSqlConnectionEndpoint}/{instance}/{userName}` (relative to `DBConnectionClient:ServiceUrl`) | GET | `ConnectionClient.GetPostgreSqlServerConnection` → `RetrieveConnectionString` | This library | — | Retrieves a formatted PostgreSQL connection string from the DBConnectionAPI; the server segment is not sent to the API. |
| `/{OracleConnectionEndpoint}/{instance}/{userName}` (relative to `DBConnectionClient:ServiceUrl`) | GET | `ConnectionClient.GetOracleConnection` → `RetrieveConnectionString` | This library | — | Retrieves a formatted Oracle connection string from the DBConnectionAPI. |

All three calls are issued directly by `ConnectionClient` through the injected `IHttpJsonClient.GetAsync(string)` (ServiceContracts contract); the target DBConnectionAPI is an NTLM-authenticated external HTTP service and is not part of this repository.

## Dependency risks and notes
- `IHttpJsonClient` and `IEnvironmentClient` are consumed only as ServiceContracts interfaces; the library does not reference `SAIF.NetCore.HttpClients` or `SAIF.NetCore.EnvironmentClient` directly, so the concrete implementations and their behavior are determined entirely by what the consuming application registers*.
- `IHttpJsonClient` is documented as intended for transient use, but a singleton `ConnectionClient` captures a single injected instance for the process lifetime, combined with stored NTLM credential state set via `SetupClientCredentials`; confirm the registered `SAIF.NetCore.HttpClients` implementation is safe for this usage pattern*.
- The DBConnectionAPI service URL and the three endpoint path segments are resolved from environment configuration at runtime and are not present in this repository, so the exact external endpoints cannot be verified from source alone**.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `src/SAIF.NetCore.DbConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient.csproj`
- `src/SAIF.NetCore.DbConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient/ConnectionClient.cs`
- `src/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/IDBConnectionClient.cs`, `IHttpJsonClient.cs`, `IHttpRequestResult.cs`, `IEnvironmentClient.cs`
