/// <summary> /// Registers projection handlers for Neo4J /// </summary> /// <param name="descriptor">The descriptor where the handlers are registered</param> /// <returns>The <paramref name="descriptor"/></returns> /// <exception cref="ArgumentNullException"> /// Throws in case the argument <paramref name="descriptor"/> is null /// </exception> public static IProjectionProviderDescriptor RegisterNeo4JHandlers( this IProjectionProviderDescriptor descriptor) { if (descriptor is null) { throw new ArgumentNullException(nameof(descriptor)); } descriptor.RegisterFieldHandler <Neo4JProjectionScalarHandler>(); descriptor.RegisterFieldHandler <Neo4JProjectionFieldHandler>(); descriptor.RegisterOptimizer <IsProjectedProjectionOptimizer>(); return(descriptor); }
public static IProjectionProviderDescriptor RegisterQueryableHandler( this IProjectionProviderDescriptor descriptor) { if (descriptor is null) { throw new ArgumentNullException(nameof(descriptor)); } descriptor.RegisterFieldHandler <QueryableProjectionScalarHandler>(); descriptor.RegisterFieldHandler <QueryableProjectionListHandler>(); descriptor.RegisterFieldHandler <QueryableProjectionFieldHandler>(); descriptor.RegisterFieldInterceptor <QueryableFilterInterceptor>(); descriptor.RegisterFieldInterceptor <QueryableSortInterceptor>(); descriptor.RegisterFieldInterceptor <QueryableFirstOrDefaultInterceptor>(); descriptor.RegisterFieldInterceptor <QueryableSingleOrDefaultInterceptor>(); descriptor.RegisterOptimizer <IsProjectedProjectionOptimizer>(); descriptor.RegisterOptimizer <QueryablePagingProjectionOptimizer>(); descriptor.RegisterOptimizer <QueryableFilterProjectionOptimizer>(); descriptor.RegisterOptimizer <QueryableSortProjectionOptimizer>(); return(descriptor); }
protected virtual void Configure(IProjectionProviderDescriptor descriptor) { }
/// <summary> /// Initializes the default configuration for MongoDb on the convention by adding handlers /// </summary> /// <param name="descriptor">The descriptor where the handlers are registered</param> /// <returns>The <paramref name="descriptor"/></returns> public static IProjectionProviderDescriptor AddMongoDbDefaults( this IProjectionProviderDescriptor descriptor) => descriptor.RegisterMongoDbHandlers();
public static IProjectionProviderDescriptor AddDefaults( this IProjectionProviderDescriptor descriptor) => descriptor.RegisterQueryableHandler();
public static IProjectionProviderDescriptor AddPostgresHandlers( this IProjectionProviderDescriptor descriptor) => descriptor.RegisterFieldHandler <QueryablePostgresProjectionJsonHandler>();
public static IProjectionProviderDescriptor AddSpatialHandlers( this IProjectionProviderDescriptor descriptor) => descriptor.RegisterFieldHandler <QueryableSpatialProjectionScalarHandler>();
/// <summary> /// Initializes the default configuration for Neo4J on the convention by adding handlers /// </summary> /// <param name="descriptor">The descriptor where the handlers are registered</param> /// <returns>The <paramref name="descriptor"/></returns> public static IProjectionProviderDescriptor AddNeo4JDefaults( this IProjectionProviderDescriptor descriptor) => descriptor.RegisterNeo4JHandlers();