Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Fix SelectExpandNode for navigation properties on derived/complex types #1359
PR #1286 fixed a number of issues related to how non-selected expanded navigation properties were represented in the ContextUrl. However, in the new code that attempts to determine if the entire subtree is selected, it looks only at direct children to see if they are navigation properties and not deeper.
For example, prior to this fix the following URL would return a SelectExpandNode with SelectionType=PartialSubtree.
After the PR, this is correctly returned as EntireSubtree
The primary purpose of this PR is to set whether the SelectNode is entiresubtree based on a deep traverse of child paths, rather than only looking at direct children.
Other changes, in addition to new tests, include some test clean-up as well as code optimizations around deferring creation of hashsets until required.
Checklist (Uncheck if it is not completed)