@@ -200,11 +200,12 @@ public LambdaExpression Expression
200
200
/// <inheritdoc />
201
201
public override RenderedFieldDefinition Render ( IBsonSerializer < TDocument > documentSerializer , IBsonSerializerRegistry serializerRegistry )
202
202
{
203
+ var lambda = ( LambdaExpression ) PartialEvaluator . Evaluate ( _expression ) ;
203
204
var binder = new SerializationInfoBinder ( serializerRegistry ) ;
204
205
var parameterSerializationInfo = new BsonSerializationInfo ( null , documentSerializer , documentSerializer . ValueType ) ;
205
- var parameterExpression = new SerializationExpression ( _expression . Parameters [ 0 ] , parameterSerializationInfo ) ;
206
- binder . RegisterParameterReplacement ( _expression . Parameters [ 0 ] , parameterExpression ) ;
207
- var bound = binder . Bind ( _expression . Body ) as ISerializationExpression ;
206
+ var parameterExpression = new SerializationExpression ( lambda . Parameters [ 0 ] , parameterSerializationInfo ) ;
207
+ binder . RegisterParameterReplacement ( lambda . Parameters [ 0 ] , parameterExpression ) ;
208
+ var bound = binder . Bind ( lambda . Body ) as ISerializationExpression ;
208
209
if ( bound == null )
209
210
{
210
211
var message = string . Format ( "Unable to determine the serialization information for {0}." , _expression ) ;
@@ -244,11 +245,12 @@ public Expression<Func<TDocument, TField>> Expression
244
245
/// <inheritdoc />
245
246
public override RenderedFieldDefinition < TField > Render ( IBsonSerializer < TDocument > documentSerializer , IBsonSerializerRegistry serializerRegistry )
246
247
{
248
+ var lambda = ( LambdaExpression ) PartialEvaluator . Evaluate ( _expression ) ;
247
249
var binder = new SerializationInfoBinder ( serializerRegistry ) ;
248
250
var parameterSerializationInfo = new BsonSerializationInfo ( null , documentSerializer , documentSerializer . ValueType ) ;
249
- var parameterExpression = new SerializationExpression ( _expression . Parameters [ 0 ] , parameterSerializationInfo ) ;
250
- binder . RegisterParameterReplacement ( _expression . Parameters [ 0 ] , parameterExpression ) ;
251
- var bound = binder . Bind ( _expression . Body ) as ISerializationExpression ;
251
+ var parameterExpression = new SerializationExpression ( lambda . Parameters [ 0 ] , parameterSerializationInfo ) ;
252
+ binder . RegisterParameterReplacement ( lambda . Parameters [ 0 ] , parameterExpression ) ;
253
+ var bound = binder . Bind ( lambda . Body ) as ISerializationExpression ;
252
254
if ( bound == null )
253
255
{
254
256
var message = string . Format ( "Unable to determine the serialization information for {0}." , _expression ) ;
0 commit comments