in src/Epam.GraphQL/Configuration/Implementations/FieldResolvers/QueryableAsyncFuncResolver.cs [100:137]
public override IEnumerableResolver<TEntity, TSelectType, TExecutionContext> Select<TSelectType>(
Expression<Func<TReturnType, TSelectType>> selector,
IProxyAccessor<TSelectType, TExecutionContext>? selectTypeProxyAccessor)
{
if (selectTypeProxyAccessor == null)
{
return new SelectEnumerableAsyncFuncResolver<TEntity, TReturnType, TTransformedReturnType, TSelectType, TSelectType, TExecutionContext>(
FieldName,
QueryFactory,
_condition,
selector,
OuterProxyAccessor,
ReturnTypeProxyAccessor,
IdentityProxyAccessor<TSelectType, TExecutionContext>.Instance);
}
return new SelectEnumerableAsyncFuncResolver<TEntity, TReturnType, TTransformedReturnType, TSelectType, Proxy<TSelectType>, TExecutionContext>(
FieldName,
QueryFactory,
_condition,
selector,
OuterProxyAccessor,
ReturnTypeProxyAccessor,
selectTypeProxyAccessor);
IQueryable<TReturnType> QueryFactory(IResolveFieldContext ctx)
{
var sorters = _sorters(ctx);
var result = _transform(ctx, _resolver(ctx));
if (sorters.Any())
{
return result.ApplyOrderBy(sorters);
}
return result;
}
}