Link Search Menu Expand Document

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 on MySql.Data instead — pick whichever underlying driver best fits your project.

What’s included

  • MariaDbBootstrap / MariaDbGlobalConfiguration.UseMariaDb() — initializes RepoDB for use with MariaDbConnection (GlobalConfiguration.Setup().UseMariaDb()), mapping the MariaDbDbSetting, MariaDbDbHelper, and MariaDbStatementBuilder to every MariaDbConnection.
  • MariaDbDbSetting — MariaDB-specific behavior: backtick (`) opening/closing identifier quotes, @ parameter prefix, no table hints, no native UPSERT keyword (Merge is built via INSERT ... ON DUPLICATE KEY UPDATE instead), and multi-statement command text support (IsMultiStatementExecutable = true, MultiStatementSeparator = ";").
  • MariaDbStatementBuilder — generates MariaDB-flavored SQL for every operation: LIMIT/LIMIT ... OFFSET paging for BatchQuery/skip-take queries and top-N Query, INSERT ... ON DUPLICATE KEY UPDATE for Merge/MergeAll, and identity/primary-key retrieval via LAST_INSERT_ID() for Insert/InsertAll/Merge/MergeAll.
  • MariaDbDbHelper — schema/type discovery (GetFields/GetFieldsAsync) sourced from INFORMATION_SCHEMA.COLUMNS, and generated-identity retrieval (GetScopeIdentity/GetScopeIdentityAsync) via SELECT LAST_INSERT_ID();.
  • Resolvers — MariaDbDbTypeNameToClientTypeResolver (maps INFORMATION_SCHEMA.COLUMNS.DATA_TYPE values to .NET CLR types) and MariaDbDbTypeToStringNameResolver (maps System.Data.DbType to MariaDB SQL type names).
  • Parameter attribute mirroring MariaDbParameter.MariaDbType, settable per entity property: MariaDbType.
  • QueryMultiple/QueryMultipleAsync run 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.MariaDbConnector or RepoDb.MariaDb per project — both call the identically-named MariaDbBootstrap.Initialize()/GlobalConfiguration.Setup().UseMariaDb() and map against the identically-named MariaDbConnection type, so referencing both lets the second package’s mappings silently overwrite the first’s. See Get Started for MariaDB for details.
  • RepoDb.Connector.MariaDbConnector is an independent, unofficial ADO.NET provider for MariaDB (a thin wrapper over MySqlConnector) — not affiliated with or endorsed by MariaDB plc or the MariaDB Foundation, and still in early development.
  • No native GUID/UNIQUEIDENTIFIER type — as with MySQL, map a Guid property as string/byte[], or register a custom IPropertyHandler.

Bumps

  • Referenced the RepoDb package v1.16.0.
  • Referenced the RepoDb.Connector.MariaDbConnector package v0.0.1-alpha2.