AuroraDB MySqlConnector
This page contains the latest information of the releases of RepoDb.AuroraDb.MySqlConnector library.
View the NuGet package here or download it directly here.
RepoDb.AuroraDb.MySqlConnector (v0.0.1-alpha1) - Preview
Released: September 29, 2026
New
First (alpha) release of the dedicated Amazon Aurora MySQL provider for RepoDB, built on top of RepoDb.Connector.AuroraDb.MySqlConnector — a connector whose AuroraDbConnection wraps MySqlConnector inside the AWS Advanced .NET Data Provider Wrapper. Amazon Aurora MySQL is MySQL-compatible, so this package was ported from RepoDb.MariaDbConnector and generates the same SQL, apart from the MySQL-specific VALUES ROW(...) identity-retrieval statement noted below.
This is the sibling provider to RepoDb.AuroraDb.PostgreSql — pick whichever matches your Aurora cluster’s engine edition. See Get Started with AuroraDB for both.
What’s included
AuroraDbBootstrap/AuroraDbGlobalConfiguration.UseAuroraDb()— initializes RepoDB for use withAuroraDbConnection(GlobalConfiguration.Setup().UseAuroraDb()), mapping theAuroraDbDbSetting,AuroraDbDbHelper, andAuroraDbStatementBuilder.AuroraDbDbSetting— Aurora MySQL-specific behavior: backtick (`) opening/closing identifier quotes,@parameter prefix, no table hints, no nativeUPSERTkeyword (Merge is built viaINSERT ... ON DUPLICATE KEY UPDATEinstead), and multi-statement command text support (IsMultiStatementExecutable = true,MultiStatementSeparator = ";").AuroraDbStatementBuilder— generates Aurora MySQL-flavored SQL for every operation:LIMIT/LIMIT ... OFFSETpaging,INSERT ... ON DUPLICATE KEY UPDATEfor Merge/MergeAll, and identity/primary-key retrieval viaLAST_INSERT_ID()for Insert/Merge/MergeAll — InsertAll instead reads back the whole batch’s identities with one standaloneVALUES ROW(LAST_INSERT_ID() + n), ...statement, which requires MySQL 8.0.19 or later (Aurora MySQL version 3).AuroraDbDbHelper— schema/type discovery (GetFields/GetFieldsAsync) sourced fromINFORMATION_SCHEMA.COLUMNS, and generated-identity retrieval (GetScopeIdentity/GetScopeIdentityAsync) viaSELECT LAST_INSERT_ID();.- Resolvers — AuroraDbDbTypeNameToClientTypeResolver (maps
INFORMATION_SCHEMA.COLUMNS.DATA_TYPEvalues to .NET CLR types) and AuroraDbDbTypeToStringNameResolver (mapsAuroraDbTypeto Aurora MySQL SQL type names). - Property handler — AuroraDbGeometryToMySqlGeometryPropertyHandler, mapping the MySQL spatial types onto a
MySqlGeometryproperty. - Parameter attribute mirroring
AuroraDbParameter, settable per entity property: AuroraDbType, SourceColumn, SourceColumnNullMapping, and SourceVersion. - Errors raised by the driver are wrapped into
AuroraDbException, exposing the MySQL errorNumberandSqlState(e.g.1062/23000for a duplicate key,1146/42S02for a missing table). A failure to open the connection is not wrapped and surfaces as the underlyingMySqlConnector.MySqlExceptioninstead. TransactionScopeis supported — unlike the AWS wrapper’s probes on the PostgreSQL edition, the dialect/topology-detection queries this connector runs on every connection open (SHOW VARIABLES LIKE ..., aninformation_schema.tableslookup) do not fail against a plain (non-Aurora) MySQL server, so they don’t abort an ambient transaction.- Targets .NET 8, .NET 9 and .NET 10.
Known limitations (v1)
RepoDb.Connector.AuroraDb.MySqlConnectoris a prerelease package (v0.0.1-alpha1); its public API (AuroraDbConnection,AuroraDbType,AuroraDbBulkCopy, etc.) may still change before it reaches a stable release.- Unlike
RepoDb.MariaDbConnector, which it was ported from, this package has nonetstandard2.0build — it targets .NET 8, .NET 9 and .NET 10 only, since the connector and the AWS wrapper it depends on ship no earlier target. - Requires Aurora MySQL version 3 (MySQL 8.0.19 or later, for the
VALUES ROW(...)identity-retrieval statement used by InsertAll). Aurora MySQL version 2 (MySQL 5.7-compatible) is not supported and rejects that statement with a syntax error. RepoDb.AuroraDb.MySqlConnectorand RepoDb.AuroraDb.PostgreSql declare ten identically-named types in the same namespaces (AuroraDbBootstrap,AuroraDbGlobalConfiguration/UseAuroraDb(),AuroraDbDbSetting,AuroraDbDbHelper,AuroraDbStatementBuilder,AuroraDbDbTypeNameToClientTypeResolver, and four parameter attributes) — the same pattern as MariaDb and MariaDbConnector. A project referencing both packages fails to compile. Keep each provider in its own project, or useextern aliasfor one of the references, when an application needs to talk to both an Aurora MySQL and an Aurora PostgreSQL cluster.- Every
AuroraDbConnectionopen runs the AWS wrapper’s dialect/topology-detection queries against the server — a meaningful number of extra round trips per connection, even against a genuine Aurora cluster. - There is no
RepoDb.AuroraDb.MySqlConnector.BulkOperationspackage yet. Use the batched InsertAll/MergeAll/UpdateAll operations, orAuroraDbBulkCopyfromRepoDb.Connector.AuroraDb.MySqlConnectordirectly, in the meantime.
Bumps
- Referenced the
RepoDbpackagev1.17.0-alpha3. - References the
RepoDb.Connector.AuroraDb.MySqlConnectorpackagev0.0.1-alpha1.