Skip to content

Upgrade to .NET 9 / EF Core 9#3

Merged
anthony-keller merged 4 commits intov4from
upgrade-dotnet
Mar 10, 2026
Merged

Upgrade to .NET 9 / EF Core 9#3
anthony-keller merged 4 commits intov4from
upgrade-dotnet

Conversation

@anthony-keller
Copy link
Member

Summary

  • Upgrade all projects from .NET 6 / EF Core 6.0.0 to .NET 9 / EF Core 9.0.3
  • Remove legacy V1/V2 multi-version build system (netstandard2.0/2.1 targeting EF Core 3.1/5.0)
  • Update all test, benchmark, and tooling packages to current versions
  • Clean up solution configurations, conditional compilation, and dead polyfill code

BREAKING CHANGE: Minimum target framework is now net9.0

Test plan

  • dotnet build EntityFrameworkCore.Triggered.sln — 0 errors, 0 warnings
  • dotnet test EntityFrameworkCore.Triggered.sln — 244 tests pass
  • dotnet build EntityFrameworkCore.Triggered.Samples.slnf — samples build clean
  • dotnet pack EntityFrameworkCore.Triggered.Core.slnf -c Release — 5 NuGet packages created

🤖 Generated with Claude Code

- Target net9.0 across all src, test, sample, and benchmark projects
- Update EF Core and Microsoft.Extensions packages from 6.0.0 to 9.0.3
- Update test packages: xunit 2.9.3, xunit.runner.visualstudio 2.8.2,
  Microsoft.NET.Test.Sdk 17.12.0, coverlet.collector 6.0.4
- Update BenchmarkDotNet from 0.12.1 to 0.14.0
- Update Microsoft.SourceLink.GitHub from 1.0.0 to 8.0.0
- Remove legacy V1/V2 multi-version build system (netstandard2.0/2.1)
- Remove IsExternalInit polyfill (provided natively by net9.0)
- Remove conditional compilation guards for EFCORETRIGGERED2/3
- Clean up solution configurations (remove DebugV1/V2/ReleaseV1/V2)
- Add global.json pinning SDK 9.0.200
- Update CI workflows to use dotnet 9.0.x

BREAKING CHANGE: Minimum target framework is now net9.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@anthony-keller anthony-keller changed the base branch from master to v3 March 10, 2026 01:21
Copy link
Member

@benmccallum benmccallum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be cleaner if you're bringing in a global.json file

Co-authored-by: Ben McCallum <ben.mccallum@live.com.au>
Change the <LangVersion> in Directory.Build.props from 'latest' to 'default' to rely on the SDK's language version selection. This avoids forcing bleeding-edge C# features and ensures consistent, stable builds across different environments and SDK versions.
@anthony-keller anthony-keller changed the base branch from v3 to v4 March 10, 2026 01:54
@anthony-keller anthony-keller changed the base branch from v4 to v3 March 10, 2026 01:55
@anthony-keller anthony-keller changed the base branch from v3 to v4 March 10, 2026 02:06
@anthony-keller anthony-keller merged commit 25bb8ad into v4 Mar 10, 2026
14 checks passed
@anthony-keller anthony-keller deleted the upgrade-dotnet branch March 10, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants