[release/7.0] Fix to #30115 - IndexOutOfRangeException in CreateNavigationExpansionExpression #30591
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Port of #30537
Fixes #30115
Description
Entity based on clr types generated by the compiler (i.e. having non-standard names) throw during compilation.
Customer impact
Queries with affected entities throw during translation.
How found
Customer report on 7.0
Regression
Yes. This scenario worked correctly in previous version of EF Core.
Testing
Added regression tests for affected scenario.
Risk
Low/minimal: Scenario is quite an edge case since the names for types that would trigger the issue can't be generated with regular user code. Also fix is very straightforward and the code path affected (apart from this one case) is only used for error reporting. So at worst the fix is incomplete for the same class of issues, but it shouldn't regress into other scenarios. Added quirk to revert to old behavior if necessary.