DbaClientX is a lightweight, multi‑provider database client for .NET and PowerShell. It offers:
- Providers: SQL Server, PostgreSQL, MySQL, SQLite, Oracle
- Sync/async APIs with cancellation, retries, and transactions
- Transaction wrapper helpers that commit on success and roll back on failures
- A small SQL query builder with dialect support and parameterization
- PowerShell cmdlets for quick scripting
DbaClientX.Core– shared base (DatabaseClientBase), retry logic, query builderDbaClientX.SqlServer/PostgreSql/MySql/SQLite/Oracle– providersDbaClientX.PowerShell– PowerShell cmdletsDbaClientX.Tests– xUnit unit testsModule– Pester tests and module build script
dotnet restore DbaClientX.sln
dotnet build DbaClientX.sln -c Release
dotnet test DbaClientX.sln -c Release --framework net8.0
Package publishing is intentionally manual in this repository because releases are signed locally with the USB key certificate.
- Generate a build plan:
pwsh.exe -NoLogo -NoProfile -File .\Build\Build-Project.ps1 -Plan $true- Build signed packages locally:
pwsh.exe -NoLogo -NoProfile -File .\Build\Build-Project.ps1 -Build $true -PublishNuget $false -PublishGitHub $false- Publish NuGet and GitHub together in one versioned run:
pwsh.exe -NoLogo -NoProfile -File .\Build\Build-Project.ps1 -PublishNuget $true -PublishGitHub $trueBuild configuration lives in Build/project.build.json and artifacts are generated under Artefacts/ProjectBuild.
- The solution enables nullable reference types and .NET analyzers via
Directory.Build.props. - SourceLink is enabled for all projects for better debugging into packages.
- SQL Server provider uses
Microsoft.Data.SqlClient. - The release wrapper now treats version updates as part of publishing. If you intentionally need a replay-only publish for already-versioned artifacts, pass
-UpdateVersions $falseexplicitly.