public void ApplyConfiguration(ParameterInfo parameter, ObjectFieldDescriptor descriptor)
    {
        switch (_kind)
        {
        case ServiceKind.Pooled:
            UseDbContext <TDbContext>(descriptor.Extend().Definition);
            break;

        case ServiceKind.Synchronized:
            ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind);
            break;

        case ServiceKind.Resolver:
            ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind);
            ObjectFieldDefinition     definition            = descriptor.Extend().Definition;
            FieldMiddlewareDefinition placeholderMiddleware =
                new(_ => _ => throw new NotSupportedException(), key : ToList);
            FieldMiddlewareDefinition serviceMiddleware =
                definition.MiddlewareDefinitions.Last(t => t.Key == PooledService);
            var index = definition.MiddlewareDefinitions.IndexOf(serviceMiddleware) + 1;
            definition.MiddlewareDefinitions.Insert(index, placeholderMiddleware);
            AddCompletionMiddleware(definition, placeholderMiddleware);
            break;
        }
    }
 public Expression Build(ParameterInfo parameter, Expression context)
 => ServiceExpressionHelper.Build(parameter, context, _kind);
 public Expression Build(ParameterInfo parameter, Expression context)
 => ServiceExpressionHelper.Build(parameter, context, ServiceKind.Default);
Example #4
0
 public void ApplyConfiguration(ParameterInfo parameter, ObjectFieldDescriptor descriptor)
 => ServiceExpressionHelper.ApplyConfiguration(parameter, descriptor, _kind);
 public bool CanHandle(ParameterInfo parameter)
 => ServiceExpressionHelper.TryGetServiceKind(parameter, out ServiceKind kind) &&
 kind is ServiceKind.Default;