Skip to content

.NET Libraries

DatabaseManager packages target .NET 10. Use a provider's Hosting package for configuration loading, logging, and dependency-injection setup. Use the same package for service registration in a caller-owned host. Use the underlying library when constructing the needed objects manually. Provider and hosting packages bring their Core dependencies transitively.

Package Selection

Package Purpose
TcfOss.DatabaseManager.Core Shared SQL AST, parsing, configuration, and definition-processing abstractions. Generic parsing and formatting without a server.
TcfOss.DatabaseManager.MySql MySQL parsing, formatting, definition loading, and migration-script generation.
TcfOss.DatabaseManager.MariaDb MariaDB services, sharing MySQL syntax parsing while applying MariaDB defaults and server metadata behavior.
TcfOss.DatabaseManager.MsSql SQL Server parsing and formatting. Definition loading, schema download, and migration generation are not implemented.
TcfOss.DatabaseManager.Core.Hosting Generic startup, shared service registration, and logging infrastructure.
TcfOss.DatabaseManager.MySql.Hosting MySQL startup through MySqlStartApp.
TcfOss.DatabaseManager.MariaDb.Hosting MariaDB startup through MariaDbStartApp.
TcfOss.DatabaseManager.MsSql.Hosting SQL Server startup through SqlServerStartApp.

Installation

For the offline quick start:

dotnet add package TcfOss.DatabaseManager.Core.Hosting

For a provider, choose the matching hosting package instead:

dotnet add package TcfOss.DatabaseManager.MySql.Hosting

Substitute MariaDb or MsSql for the other providers. The hosting packages also provide registration APIs for caller-owned hosts. See customization.

Breaking Migration

The former TcfOss.DatabaseManager.*.LibWrapper packages and namespaces are now TcfOss.DatabaseManager.*.Hosting. Replace the package references and imports.

Startup classes, service-registration extensions, and service-provider accessors previously in the Core/provider .App namespaces now live in the matching .Hosting packages and namespaces. Runtime command runners, formatters, and environment-reading interfaces remain in the underlying libraries. The CLI uses the same hosting integration as library consumers.

Configuration discovery and preparation are available independently in the base packages: use ConfigurationFile and the corresponding .Configuration builder (GenericConfigurationBuilder, MyConfigurationBuilder, MaConfigurationBuilder, or MsConfigurationBuilder). Hosting startup delegates to these same APIs. See Without dependency injection.

Debugging Package Code

Published library packages have matching portable .snupkg symbols on NuGet.org. Enable Source Link support in your debugger and add https://symbols.nuget.org/download/symbols as a symbol source to step into DatabaseManager code. Source Link retrieves tracked source from the release commit; generated and other untracked source files are embedded in the PDB.

Next Steps