Skip to content

Commit d1d2127

Browse files
committed
CSHARP-1892: Fix a scenario that was not using the full dotted field name for an embedded field.
1 parent 785df92 commit d1d2127

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/MongoDB.Driver/Linq/Expressions/FieldExpression.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,15 @@ public FieldExpression(Expression document, string fieldName, IBsonSerializer se
5050
_original = original;
5151
}
5252

53+
public FieldExpression(FieldExpression other, IBsonSerializer serializer)
54+
{
55+
Ensure.IsNotNull(other, nameof(other));
56+
_document = other.Document;
57+
_fieldName = other.FieldName;
58+
_original = other.Original;
59+
_serializer = Ensure.IsNotNull(serializer, nameof(serializer));
60+
}
61+
5362
public Expression Document
5463
{
5564
get { return _document; }

src/MongoDB.Driver/Linq/Processors/SerializationBinder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ protected override Expression VisitUnary(UnaryExpression node)
218218
return new DocumentExpression(serializer);
219219
case ExtensionExpressionType.Field:
220220
return new FieldExpression(
221-
((FieldExpression)serializationExpression).FieldName,
221+
(FieldExpression)serializationExpression,
222222
serializer);
223223
case ExtensionExpressionType.FieldAsDocument:
224224
return new FieldAsDocumentExpression(

0 commit comments

Comments
 (0)