Table of Contents

Interface ICriteriaTree<TProperty>

Namespace
The.Search
Assembly
Instagile.dll

a tree of entity-selection criteria defined as LINQ expression predicates and projections to sub-entities

public interface ICriteriaTree<TProperty>

Type Parameters

TProperty

the type of property on which this tree's predicate operates

Extension Methods

Properties

IsIdentity

bool IsIdentity { get; }

Property Value

bool

Methods

Conjoin(ICriteriaTree<TProperty>)

create a new tree combining another with this one by boolean AND

ICriteriaTree<TProperty> Conjoin(ICriteriaTree<TProperty> node)

Parameters

node ICriteriaTree<TProperty>

another criteria tree parameterised over the same property type

Returns

ICriteriaTree<TProperty>

a criteria tree parameterised over the same property type

Disjoin(ICriteriaTree<TProperty>)

create a new tree combining another with this one by boolean OR

ICriteriaTree<TProperty> Disjoin(ICriteriaTree<TProperty> node)

Parameters

node ICriteriaTree<TProperty>

another criteria tree parameterised over the same property type

Returns

ICriteriaTree<TProperty>

a criteria tree parameterised over the same property type

Negate()

create a new tree from this one by boolean NOT

ICriteriaTree<TProperty> Negate()

Returns

ICriteriaTree<TProperty>

a criteria tree parameterised over the same property type

Project<TEntity>(Expression<Func<Expression<Func<TProperty, bool>>, Expression<Func<TEntity, bool>>>>)

applies a transformation to each node and projects the tree to Func<TEntity, bool>

Expression<Func<TEntity, bool>> Project<TEntity>(Expression<Func<Expression<Func<TProperty, bool>>, Expression<Func<TEntity, bool>>>> aggregation)

Parameters

aggregation Expression<Func<Expression<Func<TProperty, bool>>, Expression<Func<TEntity, bool>>>>

transforms predicate of TProperty to predicate of TEntity

Returns

Expression<Func<TEntity, bool>>

an expression tree which will filter a collection of TEntity

Type Parameters

TEntity

each element of the tree is first selected to a TEntity

Select<TEntity>(Expression<Func<TEntity, TProperty>>)

create a new tree by selecting this property type from an entity type

ICriteriaTree<TEntity> Select<TEntity>(Expression<Func<TEntity, TProperty>> selection)

Parameters

selection Expression<Func<TEntity, TProperty>>

expression representing the selection

Returns

ICriteriaTree<TEntity>

a criteria tree parameterised over the new property type

Type Parameters

TEntity

the type of entity which has a property of type TProperty