Link Search Menu Expand Document

Releases for RepoDb.SapHana


View the NuGet package here or download it directly here.

RepoDb.SapHana (v1.0.0)

Released: September 8, 2026

First general availability (non-preview) release of the SAP HANA provider, promoting the v0.0.1-alpha preview below to stable. No functional changes since v0.0.1-alpha — see that entry for the full feature set and known limitations.

RepoDb.SapHana (v0.0.1-alpha) - Preview

Released: TBA

New

First (alpha) release of the SAP HANA provider for RepoDB, built on top of Sap.Data.Hana.Net.v6.0. Targets .NET 8, .NET 9, and .NET 10.

Verification status: implemented and reviewed, but not yet exercised against a live SAP HANA instance. Verify the identity read-back and UPSERT ... WITH PRIMARY KEY semantics before relying on this package in production.

What’s included

Known limitations (v1)

  • InsertAll, MergeAll and UpdateAll issue one round trip per row, since IsMultiStatementExecutable is false. Passing an explicit batchSize greater than 1 throws a NotSupportedException. Use BulkInsert/BulkMerge/BulkUpdate from RepoDb.SapHana.BulkOperations instead.
  • No table hints of any kind — AreTableHintsSupported is false; passing a non-null hints argument throws a NotSupportedException.
  • No ConvertFieldResolver/property-handler classes of its own — SapHanaStatementBuilder is constructed with null for both convertFieldResolver and averageableClientTypeResolver, falling back to BaseStatementBuilder’s defaults. Typed CAST(...) generation and average-widening behavior have not been tuned for SAP HANA’s numeric-type semantics.
  • No native GUID/UNIQUEIDENTIFIER type, and the core package ships no bundled Guid-mapping property handler. SapHanaGuidToStringPropertyHandler (maps a Guid property to/from an NVARCHAR(36) column) lives in RepoDb.SapHana.BulkOperations instead — install that package (even without using its Bulk* operations) if you need it, or write your own IPropertyHandler<string, Guid>.
  • Merge compiles to UPSERT ... WITH PRIMARY KEY, which matches against the primary key — its value must already be known on the entity being merged. There is no path to auto-generate and return an identity value within the same call.
  • GetScopeIdentity/GetScopeIdentityAsync’s SELECT CURRENT_IDENTITY_VALUE() FROM DUMMY; query has not been verified against a live instance.
  • Only a standard SAP HANA server (verified conceptually against HANA Express/HXE) is targeted.