The existing (non-index) code paths in SelectMethodToAggregationExpressionTranslator, WhereMethodToAggregationExpressionTranslator, and SelectManyMethodToAggregationExpressionTranslator derive lambda parameter serializers ad-hoc using ArraySerializerHelper.GetItemSerializer(sourceTranslation.Serializer) instead of reading them from the known serializer map via context.GetSerializer(parameter).
The SerializerFinder already populates these serializers (via DeduceItemAndCollectionSerializers), so the translators should use context.GetSerializer() to align with the architectural direction of having all serializer information come from the known serializer map.
Affected code paths seen so far:
- SelectMethodToAggregationExpressionTranslator (non-index Select): selectorParameter serializer
- WhereMethodToAggregationExpressionTranslator (non-index Where): predicateParameter serializer
- SelectManyMethodToAggregationExpressionTranslator (non-index SelectMany): selectorParameter serializer
Found during CSHARP-5847 implementation.
- is related to
-
CSHARP-5976 SerializerFinder creates IQueryableSerializer instead of NestedAsQueryableSerializer for nested array results
-
- Backlog
-