Interface ICriteriaTree<TProperty>
a tree of entity-selection criteria defined as LINQ expression predicates and projections to sub-entities
public interface ICriteriaTree<TProperty>
Type Parameters
TPropertythe type of property on which this tree's predicate operates
- Extension Methods
Properties
IsIdentity
bool IsIdentity { get; }
Property Value
Methods
Conjoin(ICriteriaTree<TProperty>)
create a new tree combining another with this one by boolean AND
ICriteriaTree<TProperty> Conjoin(ICriteriaTree<TProperty> node)
Parameters
nodeICriteriaTree<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
nodeICriteriaTree<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
aggregationExpression<Func<Expression<Func<TProperty, bool>>, Expression<Func<TEntity, bool>>>>transforms predicate of
TPropertyto predicate ofTEntity
Returns
- Expression<Func<TEntity, bool>>
an expression tree which will filter a collection of
TEntity
Type Parameters
TEntityeach 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
selectionExpression<Func<TEntity, TProperty>>expression representing the selection
Returns
- ICriteriaTree<TEntity>
a criteria tree parameterised over the new property type
Type Parameters
TEntitythe type of entity which has a property of type
TProperty