Repository navigation
Conversation
| this.responseInfo.IsContinuation); | ||
| } | ||
| else | ||
| else if (property.EdmProperty.Type.TypeKind() == EdmTypeKind.Entity) |
There was a problem hiding this comment.
In which block do complex properties and/or complex collection properties get handled?
cfd2a2f to
2597166
Compare
|
|
||
|
|
||
|
|
||
|
|
There was a problem hiding this comment.
shall we put the new test file under "Materialization" subfolder?
|
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
Issues
This pull request fixes #2471.
Description
We rely on
ODataLoadNavigationPropertyMaterializerto materialize load property result for complex and complex collection property. Complex and complex collection properties are structural properties, the reliance onODataLoadNavigationPropertyMaterializeris by design - we useODataReaderEntityMaterializeras well to materialize complex and complex collection properties, since just like entities, they're returned asODataResource.The bug was in how we apply the materialized values to the respective properties on the client type instance.
Due to a missing condition check, the complex collections were being treated as if they are a single entity value.
I fixed the bug by applying the missing check. By doing so, this block in
LoadPropertyResultclass does the job of applying the complex collection to the property - after first clearing the existing items.Checklist (Uncheck if it is not completed)
Additional work necessary
If documentation update is needed, please add "Docs Needed" label to the issue and provide details about the required document change in the issue.