dotnet / dotnet/efcore

Query: convert identifiers to be generic SqlExpressions rather than ColumnExpressions

Open
#31,326 1 comment 0 reactions 0 assignees View on GitHub
area-query
Dominant language
C#
Stars
14.8k
Forks
3.4k
PR merge metrics
PR metrics pending

Description

Currently we use ColumnExpressions as identifiers (so we can easily get comparer for them), we should see if we can make it more flexible. First it helps in OPEN JSON scenarios, where we project key column twice sometimes (once as identifier and once because the collection is ordered by it - with a cast to int) - identifiers were more flexible we could just make the converted key to be the identifier and avoid duplicated projection. Also in the Distinct scenarios, if you project a function or some expression (other than column) we can't build identifier from it currently and we will throw. Again, converting to SqlExpression helps here

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.