Conversation
… EFCore.SingleStore/Extensions
There was a problem hiding this comment.
Pull request overview
This pull request upgrades the SingleStore EF Core provider from EF Core 8 to EF Core 9. This is a major version upgrade that includes updating the .NET SDK to 9.0, updating all EF Core package dependencies to 9.0.0, and adapting to breaking changes in the EF Core 9 API surface.
Changes:
- Updated .NET SDK from 8.0 to 9.0 and target framework for tests from net8.0 to net9.0
- Updated EF Core dependencies from 8.0.13 to 9.0.0 and SingleStoreConnector from 1.2.0 to 1.3.0
- Converted synchronous test methods to async patterns throughout the test suite
- Adapted to EF Core 9 API changes including query compilation context, parameter processors, and expression handling
- Implemented new EF Core 9 features like migration database locking and precompiled query infrastructure
- Fixed various bugs in regex patterns, variable naming, and expression handling
- Added new test attributes and query translation methods
Reviewed changes
Copilot reviewed 148 out of 212 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| global.json, Version.props, Directory.Packages.props | Updated SDK version to 9.0.100, package versions to EF Core 9.0.0 |
| Multiple test files | Converted test fixtures to IAsyncLifetime, changed sync methods to async |
| Query/Internal/*.cs | Updated query compilation context and parameter processor signatures for EF Core 9 |
| Query/ExpressionVisitors/*.cs | Added bitwiseexpression visitor, updated expression handling |
| Migrations/Internal/*.cs | Implemented migration database locking, updated constructor signatures |
| Storage/Internal/*.cs | Fixed connection cloning to mark as owned |
| Infrastructure/*.cs | Added DefaultUtf8 collation properties, updated server version support |
| Extensions/*.cs | Added JsonOverlaps function, ComplexTypeProperty extensions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/EFCore.SingleStore.NTS/Query/Internal/SingleStoreMultiLineStringMemberTranslator.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| </ItemGroup> | ||
|
|
||
| <ItemGroup> | ||
| <PackageReference Include="SingleStoreConnector" Version="1.2.0" /> |
There was a problem hiding this comment.
Commented-out PackageVersion breaks central package management build
High Severity
EFCore.SingleStore.csproj still references Microsoft.Bcl.HashCode as a PackageReference (line 49), but its corresponding PackageVersion entry in Directory.Packages.props is commented out. With ManagePackageVersionsCentrally set to true, NuGet restore will fail when building with LocalEFCoreRepository set, since no version is defined for this package. The other three projects correctly removed this reference.
Additional Locations (1)
…SqlGeneratorTest and SingleStoreComplianceTest


Note
Medium Risk
This upgrades the provider and test matrix to EF Core 9/.NET 9 and refactors package/version management, which can introduce build/runtime incompatibilities across projects and CI. It also expands provider surface area (new translation helpers and async APIs), requiring careful regression validation in query translation and scaffolding paths.
Overview
Adds EF Core 9 support end-to-end. CI/build tooling is updated to .NET 9 (
global.json, GitHub Actions, and all test scripts now runnet9.0), and the package versioning model is migrated to central package management viaDirectory.Packages.props(removingDependencies.targets/Directory.Build.targets) with dependency bumps such asSingleStoreConnector.Provider/runtime updates include: expanded date-diff function surface in
SingleStoreDbFunctionsExtensions(addingQuarter/Week/Millisecond/Tick/Nanosecondvariants), new JSON APIJsonOverlapsinSingleStoreJsonDbFunctionsExtensions(with corresponding capability flag), asyncServerVersion.AutoDetectAsyncoverloads for connection strings/connections/data sources, improved scaffolding/codegen for charset annotations on complex types (newSingleStoreComplexTypePropertyBuilderExtensions+SingleStoreAnnotationCodeGeneratorupdate), and small EF Core 9 compatibility tweaks (type-mapped NULL constants in NTS translators, newTranslateParameterizedCollectionsToConstants()default option inUseSingleStore).Release metadata is advanced to
9.0.0(Version.props,dotnet-eftool), and legacy solution/config artifacts (Pomelo.EFCore.SingleStore.sln, old dependency targets) are removed/updated.Written by Cursor Bugbot for commit 49d398a. This will update automatically on new commits. Configure here.