dotnet / dotnet/efcore

EF Core features that require unsupported C# versions in LINQ expression trees

Open
#27,047 3 comments 4 reactions 0 assignees View on GitHub
area-global blocked
Dominant language
C#
Stars
14.8k
Forks
3.4k
PR merge metrics
PR metrics pending

Description

This is an issue to track EF Core feature which are blocked because of unsupported expression tree features. There's an ongoing effort to bring the latest C# features to expression trees, which would unblocked this. This list could be used to identify high-value features, in case prioritization is required on the Roslyn side.

* [ ] #26822
SQL row values (`(1, 'foo')`) could be represented by C# tuple literals; this could be great for e.g. expressing row value comparison (`WHERE (x, y) > (2, 3)`). The same would be needed for expressing subqueries returning multiple scalars in bulk update.
* [ ] If we could use assignment in expression trees, we could have a nice, terse method for expressing a single column update: `context.Customers.Where(...).Update(c => c.Age = c.Age + 1);`
* [ ] Another alternative is to use `with`: `context.Customers.Where(...).Update(c => c with { ... })`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.