Skip to content

Commit 5efc6c0

Browse files
author
Oleksandr Poliakov
committed
PR
1 parent 3aec265 commit 5efc6c0

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/MongoDB.Driver/Linq/Linq3Implementation/Translators/ExpressionToAggregationExpressionTranslators/NewDictionaryExpressionToAggregationExpressionTranslator.cs

+5-7
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,17 @@ internal static class NewDictionaryExpressionToAggregationExpressionTranslator
3131
public static TranslatedExpression Translate(TranslationContext context, NewExpression expression)
3232
{
3333
var arguments = expression.Arguments;
34-
IBsonSerializer keySerializer = null;
35-
IBsonSerializer valueSerializer = null;
36-
3734
var collectionExpression = arguments.Single();
3835
var collectionTranslation = ExpressionToAggregationExpressionTranslator.TranslateEnumerable(context, collectionExpression);
3936
AstExpression collectionTranslationAst;
4037

4138
if (collectionTranslation.Serializer is IBsonArraySerializer bsonArraySerializer &&
4239
bsonArraySerializer.TryGetItemSerializationInfo(out var itemSerializationInfo))
4340
{
44-
if (itemSerializationInfo.Serializer is IRepresentationConfigurable representationConfigurable &&
45-
representationConfigurable.Representation == BsonType.Array)
41+
IBsonSerializer keySerializer = null;
42+
IBsonSerializer valueSerializer = null;
43+
44+
if (itemSerializationInfo.Serializer is IRepresentationConfigurable { Representation: BsonType.Array })
4645
{
4746
collectionTranslationAst = collectionTranslation.Ast;
4847
}
@@ -76,8 +75,7 @@ public static TranslatedExpression Translate(TranslationContext context, NewExpr
7675
throw new ExpressionNotSupportedException(expression, because: $"document serializer class {itemSerializationInfo.Serializer.GetType()} does not implement {nameof(IBsonDocumentSerializer)}");
7776
}
7877

79-
if (keySerializer is not IRepresentationConfigurable representationConfigurableSerializer
80-
|| representationConfigurableSerializer.Representation != BsonType.String)
78+
if (keySerializer is not IRepresentationConfigurable { Representation: BsonType.String })
8179
{
8280
throw new ExpressionNotSupportedException(expression, because: "key did not serialize as a string");
8381
}

0 commit comments

Comments
 (0)