Skip to content

Conversation

@duckblaster
Copy link
Contributor

@duckblaster duckblaster commented Nov 27, 2025

This breaks the tests using MySQL, as Pomelo.EntityFrameworkCore.MySql doesn't support EF Core 10, and has a few mysterious failures in the AzureSqlEntityTableRepository_Tests where the time is off slightly (rerunning the tests they passed on the second try).

Other than that, it seems to pass all tests.

@duckblaster duckblaster changed the title Attempt at updating to .Net 10 Attempt at updating to .Net 10 to fix crash with OpenAPI Nov 27, 2025
@kyurkchyan
Copy link

I wanted to do the same @duckblaster. Thanks for tackling this. Every .NET Switch requires at least a couple of months of wait time until all libraries catch up :)
I guess we will have to wait for all packages with all dependencies to get to .NET 10 before we migrate and that'll probably happen when it'll be a time for .NET 11 release haha :D

@duckblaster
Copy link
Contributor Author

Any chance we can get this merged? When Pomelo.EntityFrameworkCore.MySql catches up the only change will be to re-enable the tests using it.

I have also expanded the OpenAPI output to include the entity schemas instead of just reporting object.
OpenAPI output should now mostly match Swashbuckle, although there were a few more definitions in the OpenAPI doc already.

@adrianhall
Copy link
Collaborator

Sorry - I've been moving, and only just got my PC working again.

I'll be working on the dotnet 10 migration this weekend. There are a few things that need refactoring for dotnet 10 improvements, but I'll take a look at this PR during the weekend.

@adrianhall adrianhall self-requested a review December 2, 2025 11:58
@adrianhall
Copy link
Collaborator

I'm likely to merge this, but I am not releasing until Pomelo has updated (which is PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#2019 and PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#2017 PRs - they normally take a while to complete).

@adrianhall
Copy link
Collaborator

This does not compile from clean:

   C:\Program Files\dotnet\sdk\10.0.100\Microsoft.Common.CurrentVersion.targets(2437,5): warning MSB3277:
      Found conflicts between different versions of "Microsoft.OData.Core" that could not be resolved.
      There was a conflict between "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".
          "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was chosen because it was primary and "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was not.
          References which depend on "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll].
              C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll
                Project file item includes which caused reference "C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll".
                  C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll
          References which depend on or have been unified to "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [].
              C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll
                Project file item includes which caused reference "C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll".
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.NSwag\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.NSwag.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.OpenApi\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.OpenApi.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.Swashbuckle\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.Swashbuckle.dll
    CSC : error CS1705: Assembly 'CommunityToolkit.Datasync.Server' with identity 'CommunityToolkit.Datasync.Server, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.OData.Edm, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'Microsoft.OData.Edm' with identity 'Microsoft.OData.Edm, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

This is with a basic dotnet build, which should be minimally what is required. As a result, I can't accept the PR.

There are a lot of warnings that will be fixed by removing the System.Text.RegularExpressions from the tests/Directory.Build.props - this is a simple fix and worth it.

Code looks good otherwise. I'm going to assume you have "moved on" and will merge your changes into my own changes and re-submit. If you are going to work on the fix, let me know and I will hold off.

@adrianhall adrianhall added Awaiting Response Awaiting response from the OP Blocked An issue that is blocked by an external depedency. labels Dec 2, 2025
@adrianhall adrianhall added this to the 10.0.0 milestone Dec 2, 2025
@adrianhall adrianhall linked an issue Dec 2, 2025 that may be closed by this pull request
@ysmoradi
Copy link

ysmoradi commented Dec 2, 2025

I beg you to publish a pre-release nuget at least! 😓
MySQL is the slowest among the rest of the providers )":

@adrianhall
Copy link
Collaborator

FWIW - using a library compiled from the 2017/2019 Pomelo PR results in a working platform, so as soon as they validate their changes, I'll be able to PR.

I will NOT be releasing a PR until all libraries compile. Sorry - that's life as a library developer. Sometimes, you have to wait. You have all the code, so you can compile and integrate a working version using just your required libraries.

@duckblaster
Copy link
Contributor Author

This does not compile from clean:

   C:\Program Files\dotnet\sdk\10.0.100\Microsoft.Common.CurrentVersion.targets(2437,5): warning MSB3277:
      Found conflicts between different versions of "Microsoft.OData.Core" that could not be resolved.
      There was a conflict between "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".
          "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was chosen because it was primary and "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was not.
          References which depend on "Microsoft.OData.Core, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll].
              C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll
                Project file item includes which caused reference "C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll".
                  C:\Users\photo\.nuget\packages\microsoft.odata.core\8.4.0\lib\net8.0\Microsoft.OData.Core.dll
          References which depend on or have been unified to "Microsoft.OData.Core, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [].
              C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll
                Project file item includes which caused reference "C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll".
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.NSwag\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.NSwag.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.OpenApi\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.OpenApi.dll
                  C:\Users\photo\source\Datasync\src\CommunityToolkit.Datasync.Server.Swashbuckle\bin\Debug\net10.0\CommunityToolkit.Datasync.Server.Swashbuckle.dll
    CSC : error CS1705: Assembly 'CommunityToolkit.Datasync.Server' with identity 'CommunityToolkit.Datasync.Server, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.OData.Edm, Version=8.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'Microsoft.OData.Edm' with identity 'Microsoft.OData.Edm, Version=8.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

This is with a basic dotnet build, which should be minimally what is required. As a result, I can't accept the PR.

There are a lot of warnings that will be fixed by removing the System.Text.RegularExpressions from the tests/Directory.Build.props - this is a simple fix and worth it.

Code looks good otherwise. I'm going to assume you have "moved on" and will merge your changes into my own changes and re-submit. If you are going to work on the fix, let me know and I will hold off.

The errors: I forgot to push the commit that fixed this.
The warnings: I didn't notice S.T.RE in tests, so thought it came from a test dependency or something (it was late on Friday).

Your code looks cleaner and better documented than my quick hack anyway, so I'll close this PR.

@duckblaster duckblaster closed this Dec 2, 2025
@duckblaster
Copy link
Contributor Author

New PR: adrianhall#1

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

Labels

Awaiting Response Awaiting response from the OP Blocked An issue that is blocked by an external depedency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to .NET 10

4 participants