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

Query: Navigations: Inverse one-to-one references not rewritten #7573

Closed
anpete opened this issue Feb 8, 2017 · 1 comment
Closed

Query: Navigations: Inverse one-to-one references not rewritten #7573

anpete opened this issue Feb 8, 2017 · 1 comment
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

@anpete
Copy link
Contributor

anpete commented Feb 8, 2017

In the following queries, the second nav. in each projection (ParentBackNavigation) is not processed during nav. rewrite. In the first case, it triggers a null-ref at execution time, and in the second, the EF.Property call is present in the final compiled query tree.

context.Children
	.Select(c => new
	{
		c.SelfReferenceBackNavigation,
		c.SelfReferenceBackNavigation.ParentBackNavigation
	});


context.Children
	.Select(c => new
	{
		SelfReferenceBackNavigation
		= EF.Property<IChild3409>(c, "SelfReferenceBackNavigation"),
		ParentBackNavigationB
		= EF.Property<IParent3409>(
			EF.Property<IChild3409>(c, "SelfReferenceBackNavigation"),
			"ParentBackNavigation")
	});
anpete added a commit to anpete/EntityFramework that referenced this issue Feb 9, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered dotnet#7569 and dotnet#7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 9, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 9, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 9, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 10, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 13, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
@rowanmiller rowanmiller added this to the 2.0.0 milestone Feb 13, 2017
anpete added a commit to anpete/EntityFramework that referenced this issue Feb 13, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered dotnet#7569 and dotnet#7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 15, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
anpete added a commit that referenced this issue Feb 15, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered #7569 and #7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
rpawlaszek pushed a commit to rpawlaszek/EntityFramework that referenced this issue Feb 19, 2017
Replaces separate Include code path with use of Navigation rewrite pipeline via new IncludeCompiler. This first part deals with Include chains that contain no collection nav props.

- Performance: New IncludeCompiler generates optimal Include/Fixup/Tracking code. No metadata access at execution time.
- Many Include queries are simplified.
- No more duplicate joins between navs and Includes and for common prefix Include paths.

TODO:

- Uncovered dotnet#7569 and dotnet#7573 - nav rewrite issues.
- Handle collection navs by enhancing nav rewrite so that it can do Include style multi-queries.
maumar added a commit that referenced this issue Apr 17, 2017
maumar added a commit that referenced this issue Apr 18, 2017
@maumar
Copy link
Contributor

maumar commented Apr 18, 2017

Test enabled ineabc74efb9f4565bc489f638b3c64755c9b84200

@maumar maumar closed this as completed Apr 18, 2017
@maumar maumar added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Apr 18, 2017
@ajcvickers ajcvickers changed the title Navigations: Inverse one-to-one references not rewritten Query: Navigations: Inverse one-to-one references not rewritten May 9, 2017
@divega divega added closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. and removed closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. labels May 10, 2017
@ajcvickers ajcvickers modified the milestones: 2.0.0-preview1, 2.0.0 Oct 15, 2022
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

No branches or pull requests

5 participants