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

Accessing properties on closure parameters or inline instantiated types fails #15855

Closed
roji opened this issue May 30, 2019 · 3 comments · Fixed by #16469
Closed

Accessing properties on closure parameters or inline instantiated types fails #15855

roji opened this issue May 30, 2019 · 3 comments · Fixed by #16469
Assignees
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug
Milestone

Comments

@roji
Copy link
Member

roji commented May 30, 2019

After enabling entity equality, property access on closure parameters or inline instantiated types fail with InvalidOperationException.

See test Entity_equality_local for the former, Where_query_composition_entity_equality_multiple_elements_FirstOrDefault for the latter.

/cc @smitpatel

@ajcvickers ajcvickers added this to the 3.0.0 milestone May 31, 2019
@smitpatel
Copy link
Contributor

While implementing this, please keep #14645 in mind and other related issues.

@smitpatel
Copy link
Contributor

Also condense the property access on constants. They are not in the scope of translation pipeline.

@roji
Copy link
Member Author

roji commented Jul 2, 2019

Am going to give this a try

roji added a commit that referenced this issue Jul 5, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and transform them into
a new parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
roji added a commit that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
roji added a commit to roji/efcore that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes dotnet#15855
Fixes dotnet#14645
Fixes dotnet#14644
roji added a commit that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
Fixes #14645
Fixes #14644
roji added a commit that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
Fixes #14645
Fixes #14644
roji added a commit that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
Fixes #14645
Fixes #14644
roji added a commit that referenced this issue Jul 9, 2019
Entity equality introduces member access expressions on what may be a
parameter or a constant. Identify these cases and generate a new
parameter (for access of a parameter) or evaluate the constant.

Fixes #15855
Fixes #14645
Fixes #14644
@ajcvickers ajcvickers added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Jul 25, 2019
@ajcvickers ajcvickers modified the milestones: 3.0.0, 3.0.0-preview8 Jul 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. type-bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants