Skip to content

feat!: efcore 10 and .NET 10#671

Merged
olavloite merged 4 commits intomainfrom
efcore-dotnet-10
Feb 25, 2026
Merged

feat!: efcore 10 and .NET 10#671
olavloite merged 4 commits intomainfrom
efcore-dotnet-10

Conversation

@olavloite
Copy link
Collaborator

@olavloite olavloite commented Jan 28, 2026

Target Entity Framework Core v10 and .NET 10.

@gemini-code-assist
Copy link

Summary of Changes

Hello @olavloite, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on initiating the upgrade path for the Google Cloud Entity Framework Core Spanner provider to align with .NET 10 and prepare for Entity Framework Core v10. The primary changes involve updating the target framework across various project configurations and making a small, targeted adjustment in an integration test to maintain functionality with the newer versions.

Highlights

  • Target Framework Upgrade: Multiple project files (Benchmarks, IntegrationTests, Samples, Tests, and the main Spanner library) have been updated to target .NET 10, moving from the previous net8.0 framework.
  • Integration Test Adjustment: A minor code change was made in Google.Cloud.EntityFrameworkCore.Spanner.IntegrationTests/QueryTests.cs to explicitly pass an empty object[] as arguments to a string.Format call, likely to ensure compatibility with the upcoming Entity Framework Core v10.
Ignored Files
  • Ignored by pattern: .github/workflows/** (4)
    • .github/workflows/build-and-test.yml
    • .github/workflows/integration-tests-on-emulator.yml
    • .github/workflows/integration-tests-on-production.yml
    • .github/workflows/samples.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request begins the process of upgrading to .NET 10 and Entity Framework Core 10. The target framework has been updated across all projects, which is a good first step. However, the Entity Framework Core package references are still pointing to version 8.x. These will need to be updated to a preview version of EF Core 10 for the projects to be fully aligned with the goal of this PR. I've also left a minor suggestion for code style improvement in one of the test files.

Target Entity Framework Core 10 and .NET 10.
@olavloite olavloite force-pushed the efcore-dotnet-10 branch 3 times, most recently from d33d450 to f85e8d7 Compare January 30, 2026 10:37
@olavloite
Copy link
Collaborator Author

/gemini review

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request is a significant but necessary upgrade, targeting .NET 10 and Entity Framework Core 10. The changes are extensive, touching many parts of the codebase from project files to internal provider logic and tests.

Key changes include:

  • Bumping TargetFramework and package versions.
  • Adapting to API changes in EF Core 10, especially in migrations, query processing, and service registration.
  • Updating tests to match the new SQL parameter naming convention from EF Core.

The refactoring of SpannerHistoryRepository is a notable improvement, making it more robust and correctly handling Spanner's limitations regarding INFORMATION_SCHEMA queries within transactions. The introduction of SpannerSqlTranslatingExpressionVisitor for GREATEST and LEAST functions is also a clean implementation aligning with new EF Core extension points.

Overall, the changes are well-implemented and crucial for keeping the provider up-to-date. The only minor opportunities for cleanup identified are the removal of a couple of unused using statements.

@olavloite olavloite added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Feb 2, 2026
@olavloite olavloite requested a review from rahul2393 February 9, 2026 13:49
@olavloite olavloite requested review from a team as code owners February 25, 2026 16:21
@olavloite olavloite removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Feb 25, 2026
@olavloite olavloite merged commit a147adc into main Feb 25, 2026
20 checks passed
@olavloite olavloite deleted the efcore-dotnet-10 branch February 25, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants