Class ProSqlBuilderBase

Assembly: redb.Core.Pro.dll

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

ObjectProSqlBuilderBase

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)

Constructors