Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks
roji opened this issue Dec 20, 2021 · 3 comments
Open
3 tasks
Assignees
Labels
area-global blocked punted-for-7.0 Originally planned for the EF Core 7.0 (EF7) release, but moved out due to resource constraints. type-enhancement
Milestone

Comments

@roji
Copy link
Member

roji commented Dec 20, 2021

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.

  • Allow users to express SQL row value comparison syntax #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 { ... })
@flyingfive
Copy link

suggestion, Think about ref this way how to use like: Chloe

@roji
Copy link
Member Author

roji commented Dec 22, 2021

@flyingfive can you be more specific? What about ref?

@roji
Copy link
Member Author

roji commented Jan 4, 2022

@flyingfive it would be good to hear more about what you had in mind above.

@ajcvickers ajcvickers added this to the 7.0.0 milestone Jan 6, 2022
@roji roji added the blocked label Jan 6, 2022
@ajcvickers ajcvickers added propose-punt punted-for-7.0 Originally planned for the EF Core 7.0 (EF7) release, but moved out due to resource constraints. and removed propose-punt labels Jul 6, 2022
@ajcvickers ajcvickers modified the milestones: 7.0.0, Backlog Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-global blocked punted-for-7.0 Originally planned for the EF Core 7.0 (EF7) release, but moved out due to resource constraints. type-enhancement
Projects
None yet
Development

No branches or pull requests

3 participants