DotRocks 1.3.4
A patch release of DotRocks — a native .NET driver, Entity Framework Core provider, and Roslyn analyzer suite built specifically for StarRocks. It implements its own managed StarRocks client protocol and takes no runtime dependency on any MySQL driver. This release closes the EF Core provider gaps surfaced by a production analytics-service migration: native greatest()/least() translation, composite primary keys on writable entities, verified conditional aggregation and interpolated raw-SQL parameterization, and explicit connection-string validation that fails fast on missing, invalid, or misspelled configuration.
Added
- EF Core:
EF.Functions.Greatest(...)andEF.Functions.Least(...)(2–4 arguments) translate to the native StarRocksgreatest()/least()functions. StarRocks follows MySQL NULL semantics — the result is NULL when any argument is NULL, unlike PostgreSQL — which is documented on the API and in the README. - EF Core: composite primary keys are supported on writable entities.
UPDATE/DELETEemit oneWHEREcondition per key column,Find/FindAsyncresolve by the full key, and migrations create multi-column StarRocksPRIMARY KEYtables. The DTR0008 analyzer rule (composite primary keys) is retired and no longer reports; the id is reserved and will not be reused. The shippedEfCompositePrimaryKeyAnalyzertype andCompositePrimaryKeyDiagnosticIdconstant remain as obsolete no-ops for binary compatibility and will be removed in the next major release. - EF Core:
UseStarRocksnow validates the connection string at registration and throws a descriptive configuration error for a missing/empty or unparsable connection string, instead of surfacing an obscure failure on first context use. - EF Core: verified and pinned test coverage for the EF-standard interpolated raw-SQL overloads (
FromSql($"..."),Database.SqlQuery<T>($"...")) with automatic parameterization, and for conditional aggregation (Sum(x => cond ? value : null)→SUM(CASE WHEN ...),??→COALESCE,Math.Abs→abs) in a single round trip.
Changed
- Connection strings now fail explicitly on unrecognized keywords (
Connection string keyword '...' is not supported.). Previously an unknown keyword was silently ignored and its option fell back to the default — for a misspelled security keyword such asSsl Mdoe=Requiredthat failed open by leavingSsl ModeatPreferredwith plaintext fallback. AffectsDotRocksConnection,DotRocksConnectionStringBuilder, andUseStarRocksregistration.
Compatibility
- .NET 10 / C# 14. Source-compatible with 1.3.3 — the public API additions are the
EF.Functions.Greatest/Leastextension methods;EfCompositePrimaryKeyAnalyzerandCompositePrimaryKeyDiagnosticIdare now[Obsolete]no-ops. Behavior changes worth noting: unknown connection-string keywords are rejected instead of silently ignored,UseStarRocksvalidates the connection string at registration, and composite-key entity models now pass model validation instead of throwingNotSupportedException.
Full Changelog: v1.3.3...v1.3.4