Skip to content

Add RelationalExtensions.Abstractions for SQL window functions#16

Merged
koenbeuk merged 1 commit intomainfrom
feat/relational-extensions-abstractions
Mar 30, 2026
Merged

Add RelationalExtensions.Abstractions for SQL window functions#16
koenbeuk merged 1 commit intomainfrom
feat/relational-extensions-abstractions

Conversation

@koenbeuk
Copy link
Copy Markdown
Collaborator

Added ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions as a separate nuget package.

Closes #13

…and remove deprecated window function implementations
Copilot AI review requested due to automatic review settings March 30, 2026 00:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new marker-only package for SQL window function APIs, aiming to let consumers reference window-function stubs without taking an EF Core dependency, while keeping SQL translation in the existing RelationalExtensions package.

Changes:

  • Added ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions project containing window-function marker APIs (Window, WindowFunction, and window definition marker types).
  • Updated ExpressiveSharp.EntityFrameworkCore.RelationalExtensions to reference the new abstractions project.
  • Registered the new project in the solution and documented the updated dependency graph in CLAUDE.md.

Reviewed changes

Copilot reviewed 4 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.csproj Adds a project reference to the new abstractions package so translators can compile against moved marker types.
src/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions/WindowFunction.cs New public window-function stub methods (translated to SQL; throw if executed).
src/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions/WindowDefinition.cs New marker types for building window specs via fluent chaining.
src/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions/Window.cs New entry-point stubs for constructing window specs (PartitionBy/OrderBy).
src/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions/ExpressiveSharp.EntityFrameworkCore.RelationalExtensions.Abstractions.csproj New SDK-style project file describing the marker-only package.
ExpressiveSharp.slnx Adds the new abstractions project to the solution.
CLAUDE.md Documents the new project and updated dependency structure.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'ExpressiveSharp Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 9061d22 Previous: dc0d77d Ratio
ExpressiveSharp.Benchmarks.ExpressionReplacerBenchmarks.Replace_Property 2128.3470255533853 ns (± 260.9707806963987) 1770.9227091471355 ns (± 232.4954883072158) 1.20
ExpressiveSharp.Benchmarks.EFCoreQueryOverheadBenchmarks.WithExpressives_Method 28270.91670735677 ns (± 9598.955527157135) 21135.239705403645 ns (± 5378.281048071639) 1.34
ExpressiveSharp.Benchmarks.GeneratorBenchmarks.RunGenerator_NoiseChange(ExpressiveCount: 1) 3028949.8736979165 ns (± 390403.39524679136) 2459189.6953125 ns (± 108004.7274287188) 1.23

This comment was automatically generated by workflow using github-action-benchmark.

@koenbeuk koenbeuk merged commit d29634b into main Mar 30, 2026
11 checks passed
@koenbeuk koenbeuk deleted the feat/relational-extensions-abstractions branch March 30, 2026 01:41
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.

WindowFunctions as a separate package

2 participants