Target .NET 11 and EF Core 11 preview for an 11.0.0-preview.1 release - #440
Draft
renemadsen with Copilot wants to merge 44 commits into
Draft
renemadsen with Copilot wants to merge 44 commits into
renemadsen with Copilot wants to merge 44 commits into
Conversation
Open
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update to support .NET 11 in Pomelo.EntityFrameworkCore.MySql
Target .NET 11 and EF Core 11 preview for an 11.0.0-preview.1 release
Sep 7, 2026
bart-vmware
reviewed
Sep 7, 2026
| <PreReleaseVersionIteration></PreReleaseVersionIteration> | ||
| <VersionPrefix>11.0.0</VersionPrefix> | ||
| <PreReleaseVersionLabel>preview</PreReleaseVersionLabel> | ||
| <PreReleaseVersionIteration>1</PreReleaseVersionIteration> |
There was a problem hiding this comment.
I think this should be 7, to align with:
<EFCoreVersion>[11.0.0-preview.7.26381.103,11.0.999]</EFCoreVersion>
Member
There was a problem hiding this comment.
@copilot take this into consideration, so we are inline with the EF Core release numbering for the preview
…firewall Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…es, fix xUnit v3 attribute conflicts Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…xtra primitive-collections enablement Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…ines in rewrite workflow Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…Core NRE fix Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…1 model changes Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…aining MySQL failures Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…ntax Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…timizer Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…sertion Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
… rewrite baselines on both servers Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…ry point Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
- JsonTypes: convert the two ulong enum theories from `new`/implicit
hiding to real overrides so the inherited InlineData cases (notably
UInt64.MaxValue) are actually suppressed rather than still executed.
The nullable overload's base parameter is `object`, not `EnumU64?`.
- BulkUpdates: skip Update_Where_Skip[_Take]_set_constant, which use
LIMIT/OFFSET without ORDER BY. The latter previously carried an
inverted SupportedServerVersionCondition("0.0.0-mysql") that ran it
only on the server where it is unreliable.
- GroupBy_Select_Anonymous_Type_With_Entire_Entity: skip unconditionally;
it also fails on several MariaDB versions, not just MySQL.
- ToListAsync_can_be_canceled: drop the fixed AssertSql baseline, since
the statement count depends on when cancellation happens.
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
…e.yml The IntegrationTests project's launchSettings.json sets `commandLineArgs: "testMigrate"`, which is one of the commands its Program.Main recognizes. Under the Microsoft.Testing.Platform runner, `dotnet test` applies the default launch profile, so the test host was started with `testMigrate` and ran the migration routine instead of the MTP server. The runner then reported "Zero tests ran", a handshake failure and exit code 5. pr-build.yml was already fixed; build.yml and release.yml carry the same four integration-test steps and were missed, so pushes to the branch (which run build.yml) still failed. Only the IntegrationTests project has a launchSettings.json, so the functional and unit test steps are unaffected. Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracks .NET 11 support: brings the branch in line with master and retargets everything to .NET 11 / EF Core 11 preview so an
11.0.0-preview.1package can be published (npgsql/efcore.pg preview releases used as reference).Build & dependencies
global.json: SDK11.0.100-preview.7.26381.103,allowPrerelease: trueDirectory.Build.props: all target frameworks →net11.0(MySqlConnector.DependencyInjectionstaysnet8.0); benchmark and sample projects retargetedDirectory.Packages.props: EF Core range[11.0.0-preview.7.26381.103,11.0.999], Microsoft.Extensions / ASP.NET Core / BCL packages →11.0.0-preview.7.26381.103, Roslyn packages →5.3.0(required byMicrosoft.EntityFrameworkCore.Design11)NuGet.config: source mapping forMicrosoft.DotNet.XUnitV3Extensions, which EF Core 11's specification-test package pulls in and is only published on thedotnet-engfeedVersion.props→11.0.0-preview.1;dotnet-tools.json→dotnet-ef11.0.0-preview.7Provider changes for EF Core 11 API breaks
MySqlModelValidator:ValidateStoredProceduresis now invoked per entity type;ValidateJsonEntitieswas removed upstream (the override was a pass-through)MySqlHistoryRepository:HistoryRepository.EnsureModelis nowprotected virtual, so the custom implementation overrides it instead of shadowing it — the workaround region can eventually be reduced furtherMySqlStructuralJsonTypeMapping:JsonTypeMappingis obsolete/emptied; base changed toStructuralJsonTypeMappingMySqlJsonTableExpression/MySqlQueryableMethodTranslatingExpressionVisitor:TableValuedFunctionExpression.ArgumentsandUpdatenow useExpressionrather thanSqlExpressionMySqlBoolOptimizingExpressionVisitor:SqlExpressionVisitorwas removed, so it derives fromExpressionVisitorand dispatches the SQL node types itself:Docs
11.0.0-preview.1rowKnown gap
The test projects are not migrated to xUnit v3, which EF Core 11's specification-test assemblies now require (
xunit.v3packages,Microsoft.Testing.Platform,[ConditionalFact]→[Fact]). That migration is sizeable and could not be attempted here — the sandbox cannot reach thedotnet-engpackage CDN, so the test projects don't even restore. Verification was limited to building/packingsrc,benchmark,samples,toolsand exercising the provider against MySQL 8.0.40 (create/insert/query,ExecuteUpdate, owned-entity and complex-collectionToJson, history repository script generation).