github linq2db/linq2db v6.3.0
Release 6.3.0

one month ago

Highlights of this release:

  • Enum.HasFlag translation
  • string.Concat / string.Join / TrimStart / TrimEnd translation improvements (with many translator-bug fixes uncovered along the way)
  • AsCte builder overload for explicit CTE materialization configuration (PostgreSQL, ClickHouse, DuckDB, SQLite, DuckDB)
  • AsQueryable(db, ...) overload with per-column parameterization control for VALUES clauses
  • Improved Now / UtcNow translation with timezone awareness across providers; providers without TZ gracefully downgrade
  • IgnoreConflicts option for MultipleRows mode BulkCopy on MySql / MariaDB / PostgreSQL / SQLite / DuckDB (thanks @darko1979)
  • Many other fixes: PostgreSQL array-parameter query cache misses, SqlQueryDependentParams issues, association discovery on interfaces, subquery null-aggregate SQL generation, UPDATE FROM regressions, ValueConverter null handling, CTE column removal, set-operator flattening, Sql.Row converters, predicate null-check optimization, FromSql caching, DropTable(throwExceptionIfNotExists: false) behavior, EXISTS over set queries

Provider-specific highlights:

  • DuckDB — brand-new first-class provider (thanks @stdray, #5451), schema introspection, scaffolding via linq2db.cli, LINQPad support
  • OracleCOALESCE parameter type inference, DateTimeOffset.Now no longer corrupts TIMESTAMP WITH TIME ZONE writes, drop of global temp tables with data now works
  • SQL Server 2025 — vector type fixes
  • SQL Server + Firebird — date conversion fix for DbType="..." mappings
  • ClickHouse — table-hint whitespace fix
  • Access — non-EN locale compatibility re-fixes
  • SAP HANA + DB2 + Firebird — proper SQL escaping in EXECUTE blocks for create/drop tables
  • SAP HANADROP TABLE IF NOT EXISTS handled on SQL level
  • EF.Core / SQL ServerUseSequence-defined fields now detected as identity (#5439)
  • F# support — compatibility with FSharp.Core 10.1.x; record mapping fixes for case-only-distinct member names

linq2db.cli:

  • Per-RID tool packaging. linq2db.cli now ships as per-RID tool packages (win-x64/win-x86/win-arm64/linux-x64/linux-arm64/osx-arm64/osx-x64). dotnet tool install -g linq2db.cli auto-picks the variant for your SDK; add --arch x86 when you need 32-bit (Jet OLE DB; or to match a 32-bit ACE / SqlCe / SAP HANA driver).
  • Breaking: --architecture scaffold option removed — bitness is now fixed at install time. Jet connection strings on a 64-bit process now fail fast with a clear x86-variant hint. See #5539.

Full release notes

Nugets

What's Changed

New Contributors

Full Changelog: v6.2.1...v6.3.0

Don't miss a new linq2db release

NewReleases is sending notifications on new releases.