Class ProjectionFieldExtractor
Extracts structure_ids from Select expression to optimize _values loading.
⭐ SUPPORTS: simple fields, Class fields, arrays, nested arrays (graph of any depth)
public class ProjectionFieldExtractor
Inheritance
Methods
ExtractAggregations<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>>)
Extracts information about requested aggregations
public List<AggregationInfo> ExtractAggregations<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>> selector) where TProps : class, new()
ExtractFieldPathStrings<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>>)
Extracts text field paths for SQL function search_objects_with_projection_by_paths.
public List<string>? ExtractFieldPathStrings<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>> selector) where TProps : class, new()
ExtractStructureIds<TProps, TResult>(IRedbScheme, Expression<Func<RedbObject<TProps>, TResult>>)
Extracts HashSet of structure_ids for optimized BULK SELECT.
public HashSet<long>? ExtractStructureIds<TProps, TResult>(IRedbScheme scheme, Expression<Func<RedbObject<TProps>, TResult>> selector) where TProps : class, new()
HasAggregations<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>>)
Checks if expression contains aggregation calls (Agg.Sum, etc.)
public bool HasAggregations<TProps, TResult>(Expression<Func<RedbObject<TProps>, TResult>> selector) where TProps : class, new()