Table of Contents

Class DataFilter

Namespace
Datafication.Storage.Velocity.Models
Assembly
Datafication.Storage.Velocity.dll

Represents a filter that can be applied to data during loading or querying. Enables query pushdown optimizations for storage implementations that support it.

public class DataFilter
Inheritance
object
DataFilter

Properties

CaseSensitive

Gets or sets a value indicating whether the comparison should be case-sensitive. Only applicable to string comparisons.

public bool CaseSensitive { get; set; }

Property Value

bool

ChildFilters

Gets or sets child filters for complex logical operations.

public List<DataFilter> ChildFilters { get; set; }

Property Value

List<DataFilter>

ColumnName

Gets or sets the column name to filter on.

public string ColumnName { get; set; }

Property Value

string

LogicalOperator

Gets or sets the logical operator to use when combining child filters.

public LogicalOperator LogicalOperator { get; set; }

Property Value

LogicalOperator

Operation

Gets or sets the filter operation to perform.

public FilterOperation Operation { get; set; }

Property Value

FilterOperation

Value

Gets or sets the value to compare against.

public object? Value { get; set; }

Property Value

object

Values

Gets or sets additional values for operations that require multiple values (e.g., IN, BETWEEN).

public object[]? Values { get; set; }

Property Value

object[]

Methods

And(params DataFilter[])

Creates a composite filter using AND logic.

public static DataFilter And(params DataFilter[] filters)

Parameters

filters DataFilter[]

The filters to combine.

Returns

DataFilter

A new DataFilter that combines the given filters with AND logic.

Contains(string, string, bool)

Creates a "CONTAINS" filter for string matching.

public static DataFilter Contains(string columnName, string value, bool caseSensitive = true)

Parameters

columnName string

The column name to filter on.

value string

The substring to search for.

caseSensitive bool

Whether the search should be case-sensitive.

Returns

DataFilter

A new DataFilter for substring matching.

Equals(string, object?)

Creates a simple equality filter.

public static DataFilter Equals(string columnName, object? value)

Parameters

columnName string

The column name to filter on.

value object

The value to match.

Returns

DataFilter

A new DataFilter for equality comparison.

GreaterThan(string, object)

Creates a "greater than" filter.

public static DataFilter GreaterThan(string columnName, object value)

Parameters

columnName string

The column name to filter on.

value object

The minimum value (exclusive).

Returns

DataFilter

A new DataFilter for greater than comparison.

In(string, params object[])

Creates an "IN" filter for matching against multiple values.

public static DataFilter In(string columnName, params object[] values)

Parameters

columnName string

The column name to filter on.

values object[]

The values to match against.

Returns

DataFilter

A new DataFilter for IN comparison.

LessThan(string, object)

Creates a "less than" filter.

public static DataFilter LessThan(string columnName, object value)

Parameters

columnName string

The column name to filter on.

value object

The maximum value (exclusive).

Returns

DataFilter

A new DataFilter for less than comparison.

NotEquals(string, object?)

Creates a "not equals" filter.

public static DataFilter NotEquals(string columnName, object? value)

Parameters

columnName string

The column name to filter on.

value object

The value to exclude.

Returns

DataFilter

A new DataFilter for inequality comparison.

Or(params DataFilter[])

Creates a composite filter using OR logic.

public static DataFilter Or(params DataFilter[] filters)

Parameters

filters DataFilter[]

The filters to combine.

Returns

DataFilter

A new DataFilter that combines the given filters with OR logic.