Oracle
This page contains the latest information of the releases of RepoDb.Oracle library.
View the NuGet package here or download it directly here.
RepoDb.Oracle (v1.17.0-alpha2)
Released: October 9, 2026
- Enhancement: Made the package NativeAOT and trimming compatible (
IsAotCompatible), replacing the reflection-based anddynamiccode paths with AOT-safe equivalents. - Referenced the
RepoDbpackagev1.17.0-beta1.
RepoDb.Oracle (v1.17.0-alpha1)
Released: October 1, 2026
- Enhancement: Added the property handlers OracleIntervalYMPropertyHandler and OracleIntervalYMToTotalMonthsPropertyHandler, which map the
INTERVAL YEAR TO MONTHtype into anOracleIntervalYMand along?(total months) property. #1342 - Enhancement: Added the property handlers OracleVectorToFloatArrayPropertyHandler and OracleVectorToDoubleArrayPropertyHandler, which map the
VECTORtype into afloat[]and adouble[]property. #1342 - Enhancement: Added the property handlers OracleXmlTypeToXDocumentPropertyHandler, OracleXmlTypeToXElementPropertyHandler and OracleXmlTypeToXmlDocumentPropertyHandler, which map the
XMLTypetype into anXDocument, anXElementand anXmlDocumentproperty. #1342 - Adopted the Roslyn and Meziantou static code analyzers across the codebase and applied the resulting fixes — including
ConfigureAwait(false)on async calls,ArgumentNullExceptionoverNullReferenceException, and other code-quality corrections. #1328 #1331 - Updated the NuGet package icon to the new logo and refreshed the
READMEwith a consistent header, description and a link to the get started tutorial. - Referenced the
RepoDbpackagev1.17.0-alpha3. - Unsealed
OracleDbSettingand added aUseOracle(GlobalConfiguration, OracleDbSetting)overload that accepts any subclass, always applying the given setting even if already initialized — this lets OracleBulkOperationsDbSetting (shipped by RepoDb.Oracle.BulkOperations) be registered the same way. #1360
RepoDb.Oracle (v1.16.0)
Released: September 9, 2026
Version bump only, aligning with the RepoDB ecosystem-wide v1.16.0 release — no functional changes since v1.0.0.
- Referenced the
RepoDbpackagev1.16.0.
RepoDb.Oracle (v1.0.0)
Released: September 8, 2026
First general availability (non-preview) release of the Oracle provider, promoting the v0.0.1-beta4 preview below to stable. No functional changes since v0.0.1-beta4 — see that entry (and v0.0.1-beta1 further below) for the full changelog and known limitations.
RepoDb.Oracle (v0.0.1-beta4) - Preview
Released: August 23, 2026
New
- Added the MultiStatementSeparator property to the IDbSetting interface. #1241
- Added TypeToOracleDbTypeResolver, an IResolver
<Type, OracleDbType>implementation that resolves a .NET CLRTypeinto its equivalent OracleDbType. Used internally by OracleBulkArrayBinder (see the RepoDb.Oracle.BulkOperations release notes) to infer a bound parameter’s OracleDbType when no explicit mapping is given. - Referenced the
RepoDbpackagev1.16.0-beta2.
RepoDb.Oracle (v0.0.1-beta1) - Preview
Released: August 1, 2026
New
First release of the Oracle Database provider for RepoDB, built on top of ODP.NET (Oracle.ManagedDataAccess.Core). Targets Oracle Database 12c and later, and .NET 8, .NET 9, and .NET 10.
What’s included
- OracleBootstrap /
OracleGlobalConfiguration.UseOracle()— initializes RepoDB for use withOracleConnection(GlobalConfiguration.Setup().UseOracle()). - OracleDbSetting — Oracle-specific behavior:
"identifier quoting,:parameter prefix, no table hints, no native upsert, one statement per command. - OracleStatementBuilder — generates Oracle SQL, including
OFFSET/FETCHpaging and identity retrieval via an implicit result set (DBMS_SQL.RETURN_RESULT). - OracleDbHelper — schema and type discovery used for direct (non-repository) access.
- Resolvers (OracleConvertFieldResolver, OracleDbTypeNameToClientTypeResolver, DbTypeToOracleStringNameResolver) — map between .NET, Oracle, and OracleDbType types.
- OracleGuidToByteArrayPropertyHandler — optional property handler that maps a
Guidto/fromRAW(16), since Oracle has no native GUID type. - Parameter attributes mirroring
OracleParametermembers:OracleDbTypeAttribute,OracleDbTypeExAttribute,ArrayBindSizeAttribute,ArrayBindStatusAttribute,CollectionTypeAttribute,OffsetAttribute,SkipConversionToLocalTimeAttribute,SourceColumnAttribute,SourceColumnNullMappingAttribute,SourceVersionAttribute,StatusAttribute, andUdtTypeNameAttribute.
Known limitations (v1)
- QueryMultiple issues one round trip per requested type instead of a single combined command, since ODP.NET rejects command text containing more than one SQL statement.
- InsertAll / MergeAll execute one row per round trip for now; batched multi-row execution will follow in a later release.
- Identity retrieval on Insert/Merge relies on an Oracle 12c+ implicit result set wrapped in an anonymous PL/SQL block — verify against your own Oracle instance before relying on it in production.
- A
RETURNINGclause onMERGEis only supported starting with Oracle Database 23ai; on 12c–21c, a Merge against a table with a primary/identity key cannot return the key value. -
Guidentity properties need an explicitbyte[]mapping, or the OracleGuidToByteArrayPropertyHandler registered per-property, since ODP.NET does not accept a rawGuidvalue. - Referenced the
RepoDbpackagev1.15.1. - Referenced the
Oracle.ManagedDataAccess.Corepackagev23.9.1.