[release/10.0] Fix indexing on nested complex JSON collections (#37017) #37036
      
        
          +165
        
        
          −20
        
        
          
        
      
    
  
  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.
  
    
  
    
Fixes #37016
Port of #37017
Description
The new support for complex JSON mapping in EF 10 accidentally left out test coverage for indexing on nested collections (e.g.
Where(b => b.JsonColumn.Something.Coll[0] == 8); as a result, this scenario had two bugs which are fixed by this PR. Unfortunately, this bug was discovered too late to get the fix into 10.0.0.Customer Impact
Any LINQ query attempting to index into a nested JSON collection fails. Non-nested collections work fine.
How found
Found during verification/smoke testing.
Regression
No, complex JSON is a new feature.
Testing
Tests added.
Risk
Low - the changes affect code which was already changed significantly in 10.0 (to support complex JSON). Changes are relatively surgical and scope is limited. Quirk added.