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
-
objectDataFilter
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
Operation
Gets or sets the filter operation to perform.
public FilterOperation Operation { get; set; }
Property Value
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
filtersDataFilter[]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
columnNamestringThe column name to filter on.
valuestringThe substring to search for.
caseSensitiveboolWhether 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
columnNamestringThe column name to filter on.
valueobjectThe 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
columnNamestringThe column name to filter on.
valueobjectThe 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
columnNamestringThe column name to filter on.
valuesobject[]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
columnNamestringThe column name to filter on.
valueobjectThe 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
columnNamestringThe column name to filter on.
valueobjectThe 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
filtersDataFilter[]The filters to combine.
Returns
- DataFilter
A new DataFilter that combines the given filters with OR logic.