Releases for RepoDb.MariaDbConnector
View the NuGet package here or download it directly here.
RepoDb.MariaDbConnector (v0.0.1-alpha1) - Preview
Released: TBA
New
First (alpha) release of the dedicated MariaDB provider for RepoDB, built on top of the MySqlConnector-based RepoDb.Connector.MariaDbConnector — a thin ADO.NET wrapper and type-mapping layer that exposes MariaDB-specific, MariaDb-prefixed objects (MariaDbConnection, MariaDbParameter, MariaDbType, etc.) so this package never collides with RepoDb.MySqlConnector. #1270 #1271
This package started as a direct copy of RepoDb.MySqlConnector, since MariaDB is largely wire- and SQL-compatible with MySQL. It is published as its own dedicated package rather than folded into RepoDb.MySqlConnector so that MariaDB support can be versioned, tuned, and evolved independently. It is the
MySqlConnector-based counterpart to RepoDb.MariaDb, which is built onMySql.Datainstead — pick whichever underlying driver best fits your project.
What’s included
MariaDbBootstrap/MariaDbGlobalConfiguration.UseMariaDb()— initializes RepoDB for use withMariaDbConnection(GlobalConfiguration.Setup().UseMariaDb()), mapping theMariaDbDbSetting,MariaDbDbHelper, andMariaDbStatementBuilderto everyMariaDbConnection.MariaDbDbSetting— MariaDB-specific behavior: backtick (`) opening/closing identifier quotes,@parameter prefix, no table hints, no nativeUPSERTkeyword (Mergeis built viaINSERT ... ON DUPLICATE KEY UPDATEinstead), and multi-statement command text support (IsMultiStatementExecutable = true,MultiStatementSeparator = ";").MariaDbStatementBuilder— generates MariaDB-flavored SQL for every operation:LIMIT/LIMIT ... OFFSETpaging for BatchQuery/skip-take queries and top-N Query,INSERT ... ON DUPLICATE KEY UPDATEfor Merge/MergeAll, and identity/primary-key retrieval viaLAST_INSERT_ID()for Insert/InsertAll/Merge/MergeAll.MariaDbDbHelper— schema/type discovery (GetFields/GetFieldsAsync) sourced fromINFORMATION_SCHEMA.COLUMNS, and generated-identity retrieval (GetScopeIdentity/GetScopeIdentityAsync) viaSELECT LAST_INSERT_ID();.- Resolvers —
MariaDbDbTypeNameToClientTypeResolver(mapsINFORMATION_SCHEMA.COLUMNS.DATA_TYPEvalues to .NET CLR types) andMariaDbDbTypeToStringNameResolver(mapsSystem.Data.DbTypeto MariaDB SQL type names). - Parameter attribute mirroring
MariaDbParameter.MariaDbType, settable per entity property: MariaDbType. - QueryMultiple/
QueryMultipleAsyncrun as a single combined, multi-statement command text ("SELECT ... T1; SELECT ... T2"), the same as MySQL/SQL Server/PostgreSQL/Db2 — no per-type round trip. - Targets .NET Standard 2.0, .NET 8, .NET 9, and .NET 10.
Known limitations (v1)
- Install only one of
RepoDb.MariaDbConnectoror RepoDb.MariaDb per project — both call the identically-namedMariaDbBootstrap.Initialize()/GlobalConfiguration.Setup().UseMariaDb()and map against the identically-namedMariaDbConnectiontype, so referencing both lets the second package’s mappings silently overwrite the first’s. See Get Started for MariaDB for details. RepoDb.Connector.MariaDbConnectoris an independent, unofficial ADO.NET provider for MariaDB (a thin wrapper overMySqlConnector) — not affiliated with or endorsed by MariaDB plc or the MariaDB Foundation, and still in early development.- No native GUID/
UNIQUEIDENTIFIERtype — as with MySQL, map aGuidproperty asstring/byte[], or register a custom IPropertyHandler.
Bumps
- Referenced the
RepoDbpackagev1.16.0. - Referenced the
RepoDb.Connector.MariaDbConnectorpackagev0.0.1-alpha2.