Skip to content

Bump the data-access group with 3 updates - #365

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/data-access-8175d670fd
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/data-access-8175d670fd

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 12, 2026

Copy link
Copy Markdown
Contributor

Updated Dapper from 2.1.79 to 2.1.89.

Release notes

Sourced from Dapper's releases.

2.1.89

What's Changed

New Contributors

Full Changelog: DapperLib/Dapper@2.1.86...2.1.89

2.1.86

What's Changed

Full Changelog: DapperLib/Dapper@2.1.79...2.1.86

Commits viewable in compare view.

Updated linq2db from 6.3.0 to 6.5.0.

Release notes

Sourced from linq2db's releases.

6.5.0

Highlights of this release:

  • ⚠ TimeSpan duration columns — declare the unit an integral column stores with [Duration(…)], and TimeSpan members, arithmetic and comparisons translate to SQL. Date differences now measure elapsed time instead of counting calendar boundaries (#​5750)
  • ⚠ Chained TablesInScopeHint calls now stack instead of silently dropping all but the innermost — .WithUpdLockInScope().WithRowLockInScope() emits both hints (#​5850)
  • UpdateOptimisticWithRefresh refreshes the concurrency token on your entity after an optimistic update, so the same instance can be reused without re-reading the row (#​5643)
  • IInterceptable is public again, so a custom IDataContext can receive interceptors — and a compiled query ending in ToList() / ToArray() now builds (#​5813)
  • Table-per-hierarchy query compilation is back to 5.x speed, and no longer overflows the stack on large models (#​5737)
  • Deep LoadWith chains and entities with many loaded associations build substantially faster on first execution (#​5774)
  • ToListAsync() on a query with LoadWith (or a temp table, or a provider hint) now uses async ADO.NET instead of blocking a thread-pool thread, and Insert / Update / Delete / Merge no longer reject a LoadWith query (#​5809)
  • A LoadWith filter closing over an optional value no longer serves the first closure state's results to every later call — a filtered call could return unfiltered rows, or an unfiltered call return nothing (#​5801)
  • A custom Sql.Extension builder that reads an argument value no longer bakes it into the cached query — a second query with a different value silently ran the first one's SQL (#​5841)
  • A repeated impure expression (counter.Next() twice in one predicate) no longer collapses into a single SQL parameter, which made the second occurrence filter on the first one's value (#​5733)
  • joined != null ? joined.X : fallback inside a Union / Concat branch no longer drops its null check — non-matching rows came back as null or 0 instead of the fallback (#​5831)
  • A set-operation branch whose projection mixes SQL and non-SQL parts ("p_" + id.ToString("N") inside a Concat) no longer fails the whole query (#​5818)
  • Count() over a left join to a grouping with a computed key no longer crashes with "Cannot get field for …" — a paging query that worked for the page failed on the total (#​5802)
  • Eager-loading an association off a GroupBy entity key now works — group d by d.Master into g … g.Key.Details.ToList() (#​5727)
  • db.GetTable<Base>().Insert(() => new Derived { … }) on an inheritance-mapped table no longer throws "Property 'X' is not defined for type 'Base'" (#​5840)
  • Updating through a DTO whose member is typed as a base type of the projected entity no longer fails with "Cannot find target table for UPDATE statement" (#​5766)
  • A recursive CTE whose projection computes over its own columns no longer generates SQL the database rejects with a circular-reference error (#​5764)
  • Sql.Window functions that reference no column — Sql.Window.Count(w => w) == 3 — now translate instead of throwing ServerSideOnlyException (#​5783)
  • Remote contexts no longer leak a client per emulated InsertOrReplace / Upsert — visible on the gRPC and WCF transports, which open a channel per call (#​5762)

Provider-specific highlights:

  • SQL Server / SAP HANA / MySQL — a constant ORDER BY inside a window function is no longer emitted verbatim: it errored on SQL Server and SAP HANA, and MySQL 8 read it as an output-column position and ordered by that column (#​5817)
  • Oracle — bulk copy can send up to 6x fewer statements (64 KB → 384 KB SQL length limit), and BulkCopyOptions.MaxSqlLengthForBatch makes that limit configurable on any provider (#​5828)
  • EF Core — one DbContext type used against two providers in the same process no longer shares a single mapping schema, which gave the second provider the first one's column names and types (#​5780); and two servers of the same family in one process no longer share one cached provider when the context is configured with a DbDataSource or an external DbConnection (#​5808)

linq2db.FSharp:

  • Join and Where predicates that capture an outer range variable now translate, and chained groupJoin … DefaultIfEmpty() emits real LEFT JOINs instead of dropping unmatched rows (#​5701)

LINQPad driver:

  • macOS support on LINQPad 9, and database clients are provisioned per connection instead of all being installed with the driver — the driver also loads on LINQPad 8/9 without requiring the .NET 10 runtime (#​5786)

Packaging:

  • Packages that carry a third-party binary — the T4 provider packages, linq2db.cli and the LINQPad 5 .lpx — now ship a THIRD-PARTY-NOTICES.txt (#​5863)

Full release notes

Nugets

New Contributors

Full Changelog: linq2db/linq2db@v6.4.0...v6.5.0

6.4.0

Highlights of this release:

  • New Sql.Window.* fluent API for window functions — ranking, offset, value, aggregate, statistical, regression, ordered-set and distribution functions, full ROWS/RANGE/GROUPS frames, named windows, FILTER, NULLS FIRST/LAST and Oracle KEEP, with compile-time safety. Existing Sql.Ext.*().Over() queries keep working unchanged — they run on the new pipeline internally (#​5468)
  • Two new eager-loading strategies for LoadWith / ThenLoad and inline collection projections: KeyedQuery (buffers the parent query and loads children with WHERE key IN (…)) and CteUnion (collapses same-level collections into one UNION ALL CTE). Selectable per query or globally, with automatic fallback (#​5450)
  • Named (keyed) query filters — HasQueryFilter(key, …) and selective IgnoreFilters(keys), mirroring the EF Core 10 API, including EF Core keyed-filter flow-through (#​5525)
  • Fluent Upsert plus entity-based Insert(item, …) / Update(item, …) DML APIs (#​5482)
  • linq2db.Analyzers — a new analyzer package shipped as a dependency of linq2db, with rule L2DB1001 and a code fix that migrates the legacy Sql.Ext window API to Sql.Window. Opt out with EnableLinqToDBAnalyzers (#​5703)
  • Query cache is now bounded with idle eviction and a global cap, preventing unbounded growth in long-running apps with many distinct queries (#​5501)
  • NULLS FIRST / NULLS LAST control on OrderBy / ThenBy with a DataOptions default, rendered natively or emulated across all providers (#​5561)
  • Sql.NewGuid7() and Guid.CreateVersion7() mapping for UUIDv7 generation (#​5648)
  • Automatic mapping of F# 'T option / 'T voption columns after .UseFSharp(), with none stored as NULL (#​5624)
  • New opt-in PreferClientCalculation evaluates non-server-required projection expressions client-side, restoring v5 projection behavior (#​5604)
  • DistinctBy emits native DISTINCT ON on PostgreSQL and DuckDB (#​5630)
  • OptimizeForSequentialAccess became a per-context option, fixing query-cache collisions between sequential and non-sequential reader plans (#​5639)
  • Raw-SQL materialization into records and constructor types now honors [Column] and [ValueConverter], binding by mapped column name rather than parameter name (#​5659)
  • Provider auto-detection works under PublishSingleFile self-contained deployments (#​5489)
  • Fixed corrupted SQL — swapped or duplicated aliases and column names — when one cached parameter-dependent query executed concurrently on multiple threads (#​5657)
  • Two connection leaks fixed: provider version auto-detection left caller-supplied connections open (#​5691), as did the implicit EF Core ToLinqToDB() / ToLinqToDBTable() / GetTable<T>() helpers (#​5378)
  • Other notable fixes: recursive CTE dropping columns on an object-typed projection member (#​5680), InvalidCastException on a local-collection LEFT JOIN feeding decimal arithmetic (#​5587), invalid SQL when subtracting two DateTime/DateTimeOffset columns (#​5581), [ExpressionMethod] running at materialization with IsColumn = false (#​5578), nested member-path mappings throwing in MERGE setters and discriminators (#​5545), InvalidCastException on Contains in a correlated subquery (#​5558), aggregates over a captured local collection turned into SQL subqueries (#​5557), and ORDER BY expressions lifted from a subquery producing invalid SQL (#​5556)

Provider-specific highlights:

  • YDB — now a fully supported provider rather than experimental: schema API, CLI scaffolding, LINQPad driver and broad translation coverage (#​5564)
  • PostgreSQL — v19 dialect with correct IGNORE NULLS / RESPECT NULLS window SQL (#​5644); v11 and v12 dialects, with unsupported window features rejected client-side with a clear exception (#​5687)
  • SQL Server — new [GetSqlDecimal] attribute reads decimal columns whose precision exceeds the CLR decimal range instead of throwing (#​5605)
  • Oracle / Informix — fixed cached queries producing wrong SQL on re-execution when a provider rewrite modified the cached statement in place (#​5723)
  • EF Core — many-to-many (skip navigation) associations now translate to SQL (#​5588); the linq2db query cache no longer misses on every DbContext with pooled contexts or disabled service-provider caching (#​5695)
  • Native AOT — fixed a crash triggered by lambda closures in queries (#​5552); EF Core on Mono / Android AOT — fixed a fatal crash reading model metadata (#​5546)
  • LINQPad — the driver installs again on macOS and Linux from LINQPad's NuGet package manager, broken since 6.2.0 (#​5571)

linq2db.cli:

  • New query, execute and schema commands, plus an MCP server for agent-driven database access (#​5678)

Full release notes

Nugets

New Contributors

Full Changelog: linq2db/linq2db@v6.3.0...v6.4.0

Commits viewable in compare view.

Updated linq2db.Extensions from 6.3.0 to 6.5.0.

Release notes

Sourced from linq2db.Extensions's releases.

6.5.0

Highlights of this release:

  • ⚠ TimeSpan duration columns — declare the unit an integral column stores with [Duration(…)], and TimeSpan members, arithmetic and comparisons translate to SQL. Date differences now measure elapsed time instead of counting calendar boundaries (#​5750)
  • ⚠ Chained TablesInScopeHint calls now stack instead of silently dropping all but the innermost — .WithUpdLockInScope().WithRowLockInScope() emits both hints (#​5850)
  • UpdateOptimisticWithRefresh refreshes the concurrency token on your entity after an optimistic update, so the same instance can be reused without re-reading the row (#​5643)
  • IInterceptable is public again, so a custom IDataContext can receive interceptors — and a compiled query ending in ToList() / ToArray() now builds (#​5813)
  • Table-per-hierarchy query compilation is back to 5.x speed, and no longer overflows the stack on large models (#​5737)
  • Deep LoadWith chains and entities with many loaded associations build substantially faster on first execution (#​5774)
  • ToListAsync() on a query with LoadWith (or a temp table, or a provider hint) now uses async ADO.NET instead of blocking a thread-pool thread, and Insert / Update / Delete / Merge no longer reject a LoadWith query (#​5809)
  • A LoadWith filter closing over an optional value no longer serves the first closure state's results to every later call — a filtered call could return unfiltered rows, or an unfiltered call return nothing (#​5801)
  • A custom Sql.Extension builder that reads an argument value no longer bakes it into the cached query — a second query with a different value silently ran the first one's SQL (#​5841)
  • A repeated impure expression (counter.Next() twice in one predicate) no longer collapses into a single SQL parameter, which made the second occurrence filter on the first one's value (#​5733)
  • joined != null ? joined.X : fallback inside a Union / Concat branch no longer drops its null check — non-matching rows came back as null or 0 instead of the fallback (#​5831)
  • A set-operation branch whose projection mixes SQL and non-SQL parts ("p_" + id.ToString("N") inside a Concat) no longer fails the whole query (#​5818)
  • Count() over a left join to a grouping with a computed key no longer crashes with "Cannot get field for …" — a paging query that worked for the page failed on the total (#​5802)
  • Eager-loading an association off a GroupBy entity key now works — group d by d.Master into g … g.Key.Details.ToList() (#​5727)
  • db.GetTable<Base>().Insert(() => new Derived { … }) on an inheritance-mapped table no longer throws "Property 'X' is not defined for type 'Base'" (#​5840)
  • Updating through a DTO whose member is typed as a base type of the projected entity no longer fails with "Cannot find target table for UPDATE statement" (#​5766)
  • A recursive CTE whose projection computes over its own columns no longer generates SQL the database rejects with a circular-reference error (#​5764)
  • Sql.Window functions that reference no column — Sql.Window.Count(w => w) == 3 — now translate instead of throwing ServerSideOnlyException (#​5783)
  • Remote contexts no longer leak a client per emulated InsertOrReplace / Upsert — visible on the gRPC and WCF transports, which open a channel per call (#​5762)

Provider-specific highlights:

  • SQL Server / SAP HANA / MySQL — a constant ORDER BY inside a window function is no longer emitted verbatim: it errored on SQL Server and SAP HANA, and MySQL 8 read it as an output-column position and ordered by that column (#​5817)
  • Oracle — bulk copy can send up to 6x fewer statements (64 KB → 384 KB SQL length limit), and BulkCopyOptions.MaxSqlLengthForBatch makes that limit configurable on any provider (#​5828)
  • EF Core — one DbContext type used against two providers in the same process no longer shares a single mapping schema, which gave the second provider the first one's column names and types (#​5780); and two servers of the same family in one process no longer share one cached provider when the context is configured with a DbDataSource or an external DbConnection (#​5808)

linq2db.FSharp:

  • Join and Where predicates that capture an outer range variable now translate, and chained groupJoin … DefaultIfEmpty() emits real LEFT JOINs instead of dropping unmatched rows (#​5701)

LINQPad driver:

  • macOS support on LINQPad 9, and database clients are provisioned per connection instead of all being installed with the driver — the driver also loads on LINQPad 8/9 without requiring the .NET 10 runtime (#​5786)

Packaging:

  • Packages that carry a third-party binary — the T4 provider packages, linq2db.cli and the LINQPad 5 .lpx — now ship a THIRD-PARTY-NOTICES.txt (#​5863)

Full release notes

Nugets

New Contributors

Full Changelog: linq2db/linq2db@v6.4.0...v6.5.0

6.4.0

Highlights of this release:

  • New Sql.Window.* fluent API for window functions — ranking, offset, value, aggregate, statistical, regression, ordered-set and distribution functions, full ROWS/RANGE/GROUPS frames, named windows, FILTER, NULLS FIRST/LAST and Oracle KEEP, with compile-time safety. Existing Sql.Ext.*().Over() queries keep working unchanged — they run on the new pipeline internally (#​5468)
  • Two new eager-loading strategies for LoadWith / ThenLoad and inline collection projections: KeyedQuery (buffers the parent query and loads children with WHERE key IN (…)) and CteUnion (collapses same-level collections into one UNION ALL CTE). Selectable per query or globally, with automatic fallback (#​5450)
  • Named (keyed) query filters — HasQueryFilter(key, …) and selective IgnoreFilters(keys), mirroring the EF Core 10 API, including EF Core keyed-filter flow-through (#​5525)
  • Fluent Upsert plus entity-based Insert(item, …) / Update(item, …) DML APIs (#​5482)
  • linq2db.Analyzers — a new analyzer package shipped as a dependency of linq2db, with rule L2DB1001 and a code fix that migrates the legacy Sql.Ext window API to Sql.Window. Opt out with EnableLinqToDBAnalyzers (#​5703)
  • Query cache is now bounded with idle eviction and a global cap, preventing unbounded growth in long-running apps with many distinct queries (#​5501)
  • NULLS FIRST / NULLS LAST control on OrderBy / ThenBy with a DataOptions default, rendered natively or emulated across all providers (#​5561)
  • Sql.NewGuid7() and Guid.CreateVersion7() mapping for UUIDv7 generation (#​5648)
  • Automatic mapping of F# 'T option / 'T voption columns after .UseFSharp(), with none stored as NULL (#​5624)
  • New opt-in PreferClientCalculation evaluates non-server-required projection expressions client-side, restoring v5 projection behavior (#​5604)
  • DistinctBy emits native DISTINCT ON on PostgreSQL and DuckDB (#​5630)
  • OptimizeForSequentialAccess became a per-context option, fixing query-cache collisions between sequential and non-sequential reader plans (#​5639)
  • Raw-SQL materialization into records and constructor types now honors [Column] and [ValueConverter], binding by mapped column name rather than parameter name (#​5659)
  • Provider auto-detection works under PublishSingleFile self-contained deployments (#​5489)
  • Fixed corrupted SQL — swapped or duplicated aliases and column names — when one cached parameter-dependent query executed concurrently on multiple threads (#​5657)
  • Two connection leaks fixed: provider version auto-detection left caller-supplied connections open (#​5691), as did the implicit EF Core ToLinqToDB() / ToLinqToDBTable() / GetTable<T>() helpers (#​5378)
  • Other notable fixes: recursive CTE dropping columns on an object-typed projection member (#​5680), InvalidCastException on a local-collection LEFT JOIN feeding decimal arithmetic (#​5587), invalid SQL when subtracting two DateTime/DateTimeOffset columns (#​5581), [ExpressionMethod] running at materialization with IsColumn = false (#​5578), nested member-path mappings throwing in MERGE setters and discriminators (#​5545), InvalidCastException on Contains in a correlated subquery (#​5558), aggregates over a captured local collection turned into SQL subqueries (#​5557), and ORDER BY expressions lifted from a subquery producing invalid SQL (#​5556)

Provider-specific highlights:

  • YDB — now a fully supported provider rather than experimental: schema API, CLI scaffolding, LINQPad driver and broad translation coverage (#​5564)
  • PostgreSQL — v19 dialect with correct IGNORE NULLS / RESPECT NULLS window SQL (#​5644); v11 and v12 dialects, with unsupported window features rejected client-side with a clear exception (#​5687)
  • SQL Server — new [GetSqlDecimal] attribute reads decimal columns whose precision exceeds the CLR decimal range instead of throwing (#​5605)
  • Oracle / Informix — fixed cached queries producing wrong SQL on re-execution when a provider rewrite modified the cached statement in place (#​5723)
  • EF Core — many-to-many (skip navigation) associations now translate to SQL (#​5588); the linq2db query cache no longer misses on every DbContext with pooled contexts or disabled service-provider caching (#​5695)
  • Native AOT — fixed a crash triggered by lambda closures in queries (#​5552); EF Core on Mono / Android AOT — fixed a fatal crash reading model metadata (#​5546)
  • LINQPad — the driver installs again on macOS and Linux from LINQPad's NuGet package manager, broken since 6.2.0 (#​5571)

linq2db.cli:

  • New query, execute and schema commands, plus an MCP server for agent-driven database access (#​5678)

Full release notes

Nugets

New Contributors

Full Changelog: linq2db/linq2db@v6.3.0...v6.4.0

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps Dapper from 2.1.79 to 2.1.89
Bumps linq2db from 6.3.0 to 6.5.0
Bumps linq2db.Extensions from 6.3.0 to 6.5.0

---
updated-dependencies:
- dependency-name: Dapper
  dependency-version: 2.1.89
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: data-access
- dependency-name: linq2db
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: data-access
- dependency-name: linq2db.Extensions
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: data-access
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Oct 12, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants