Provider overview
One authoring contract, explicit database behavior. Choose the driver and provider together.
Examples use Classic and Fluent tabs. Your choice follows you through the manual.
Database families
| Database | ProviderTypes | Guide |
|---|---|---|
| SQLite | SQLite / MonoSQLite | Live-schema reconstruction |
| SQL Server | SqlServer / SqlServer2005 | Constraints, batches and locks |
| PostgreSQL | PostgreSQL / PostgreSQL82 | Schemas, types and locks |
| MySQL / MariaDB | Mysql / MariaDB | DDL and collation behavior |
| Oracle | Oracle / MsOracle | Identity and metadata |
| SAP HANA | Hana | Additional providers |
| Db2 / Informix / Firebird / Ingres / Sybase | IBM_DB2 / IBM_Informix / Firebird / Ingres / Sybase | Engine-specific guidance |
Bring a connection
Pass an open IDbConnection to ProviderFactory.Create. Both migration styles use that provider. Alternatively use the connection-string overload and configure providerName so the provider can resolve the ADO.NET factory. Use a matching driver and test the exact server version you deploy.
Classic
using var selectedProvider = ProviderFactory.Create(
ProviderTypes.PostgreSQL, connection, defaultSchema: "public", scope: "billing");
var selectedRunner = new Migrator(selectedProvider, typeof(CreateUsers).Assembly, false);
selectedRunner.MigrateToLastVersion();Fluent
using var selectedProvider = ProviderFactory.Create(
ProviderTypes.PostgreSQL, connection, defaultSchema: "public", scope: "billing");
var selectedRunner = new Migrator(selectedProvider, typeof(CreateUsers).Assembly, false);
selectedRunner.MigrateToLastVersion();Shared host · both styles
Qualification
The CI matrix includes SQLite, SQL Server, PostgreSQL, Oracle, MySQL, MariaDB, Firebird, Db2, Informix, Sybase and SAP HANA. Ingres and historical provider aliases have separate qualification needs. Read testing and the live-engine matrix for exact drivers and server setup.
Database support is operation-specific. Column types, collation presets, index options, DDL transactions and metadata readers can differ. Test stored values and preserved schema, not only the generated SQL.