@@ -1305,7 +1305,7 @@ public static PipelineStageDefinition<TInput, TOutput> Project<TInput, TOutput>(
13051305 ExpressionTranslationOptions translationOptions = null )
13061306 {
13071307 Ensure . IsNotNull ( projection , nameof ( projection ) ) ;
1308- return Project ( new ProjectExpressionProjection < TInput , TOutput > ( projection , translationOptions ) ) ;
1308+ return Project ( new ExpressionProjectionDefinition < TInput , TOutput > ( projection , translationOptions ) ) ;
13091309 }
13101310
13111311 /// <summary>
@@ -1905,6 +1905,11 @@ public override RenderedProjectionDefinition<TOutput> Render(IBsonSerializer<TIn
19051905
19061906 return linqProvider . GetAdapter ( ) . TranslateExpressionToBucketOutputProjection ( _valueExpression , _outputExpression , documentSerializer , serializerRegistry , _translationOptions ) ;
19071907 }
1908+
1909+ internal override RenderedProjectionDefinition < TOutput > RenderForFind ( IBsonSerializer < TInput > sourceSerializer , IBsonSerializerRegistry serializerRegistry , LinqProvider linqProvider )
1910+ {
1911+ throw new InvalidOperationException ( ) ;
1912+ }
19081913 }
19091914
19101915 internal sealed class GroupExpressionProjection < TInput , TKey , TOutput > : ProjectionDefinition < TInput , TOutput >
@@ -1938,14 +1943,19 @@ public override RenderedProjectionDefinition<TOutput> Render(IBsonSerializer<TIn
19381943 }
19391944 return linqProvider . GetAdapter ( ) . TranslateExpressionToGroupProjection ( _idExpression , _groupExpression , documentSerializer , serializerRegistry , _translationOptions ) ;
19401945 }
1946+
1947+ internal override RenderedProjectionDefinition < TOutput > RenderForFind ( IBsonSerializer < TInput > sourceSerializer , IBsonSerializerRegistry serializerRegistry , LinqProvider linqProvider )
1948+ {
1949+ throw new InvalidOperationException ( ) ;
1950+ }
19411951 }
19421952
1943- internal sealed class ProjectExpressionProjection < TInput , TOutput > : ProjectionDefinition < TInput , TOutput >
1953+ internal sealed class ExpressionProjectionDefinition < TInput , TOutput > : ProjectionDefinition < TInput , TOutput >
19441954 {
19451955 private readonly Expression < Func < TInput , TOutput > > _expression ;
19461956 private readonly ExpressionTranslationOptions _translationOptions ;
19471957
1948- public ProjectExpressionProjection ( Expression < Func < TInput , TOutput > > expression , ExpressionTranslationOptions translationOptions )
1958+ public ExpressionProjectionDefinition ( Expression < Func < TInput , TOutput > > expression , ExpressionTranslationOptions translationOptions )
19491959 {
19501960 _expression = Ensure . IsNotNull ( expression , nameof ( expression ) ) ;
19511961 _translationOptions = translationOptions ; // can be null
@@ -1960,6 +1970,11 @@ public override RenderedProjectionDefinition<TOutput> Render(IBsonSerializer<TIn
19601970 {
19611971 return linqProvider . GetAdapter ( ) . TranslateExpressionToProjection ( _expression , inputSerializer , serializerRegistry , _translationOptions ) ;
19621972 }
1973+
1974+ internal override RenderedProjectionDefinition < TOutput > RenderForFind ( IBsonSerializer < TInput > sourceSerializer , IBsonSerializerRegistry serializerRegistry , LinqProvider linqProvider )
1975+ {
1976+ return linqProvider . GetAdapter ( ) . TranslateExpressionToFindProjection ( _expression , sourceSerializer , serializerRegistry ) ;
1977+ }
19631978 }
19641979
19651980 internal class SortPipelineStageDefinition < TInput > : PipelineStageDefinition < TInput , TInput >
0 commit comments