Class ProSqlBuilderBase
Base SQL builder for Pro version with database-agnostic methods.
Contains field extraction, mapping, and parsing logic.
SQL-specific methods should be implemented in derived classes.
public abstract class ProSqlBuilderBase
Inheritance
Derived
Methods
BuildNestedFieldAliases(IReadOnlyList<FieldInfo>)
Builds aliases for nested fields (Contact.Name -> Contact_Name).
public static Dictionary<string, string> BuildNestedFieldAliases(IReadOnlyList<FieldInfo> fields)
ExtractBaseFieldName(string?)
Extracts base field name from path (removes 0$: prefix).
public static string ExtractBaseFieldName(string? fieldPath)
ExtractFieldInfos(FilterExpression?)
Extracts fields with IsBaseField info from filter expression.
public Dictionary<string, bool> ExtractFieldInfos(FilterExpression? filter)
ExtractPropsFieldPaths(IEnumerable<AggregateRequest>)
Extracts Props field paths from aggregation requests.
public HashSet<string> ExtractPropsFieldPaths(IEnumerable<AggregateRequest> aggregations)
IsBaseField(string)
Checks if field name is a base RedbObject field.
public bool IsBaseField(string name)
IsBaseFieldPath(string?)
Checks if field path refers to a base field.
public bool IsBaseFieldPath(string? fieldPath)
MapAggregateFunction(AggregateFunction)
Maps aggregate function to SQL function name.
public static string MapAggregateFunction(AggregateFunction func)
MapBaseFieldToColumn(string)
Maps C# field name to SQL column name.
public static string MapBaseFieldToColumn(string fieldPath)
NormalizeDictionaryFieldName(string, object?)
Normalizes Dictionary field names.
protected string NormalizeDictionaryFieldName(string fieldName, object? value)