Beispiel #1
0
        private static void CompileMiddleware(
            Type type,
            ObjectFieldDefinition definition,
            FieldMiddleware placeholder,
            ITypeCompletionContext context,
            string?scope)
        {
            IProjectionConvention convention =
                context.DescriptorContext.GetProjectionConvention(scope);

            RegisterOptimizer(definition.ContextData, convention.CreateOptimizer());

            definition.ContextData[ProjectionContextIdentifier] = true;

            MethodInfo factory    = _factoryTemplate.MakeGenericMethod(type);
            var        middleware = (FieldMiddleware)factory.Invoke(null, new object[] { convention }) !;
            var        index      = definition.MiddlewareComponents.IndexOf(placeholder);

            definition.MiddlewareComponents[index] = middleware;
        }
Beispiel #2
0
 private static FieldMiddleware CreateMiddleware <TEntity>(
     IProjectionConvention convention) =>
 convention.CreateExecutor <TEntity>();