public static ISelectQuery <TEntity> CreateParentRestriction(IRestriction <TEntity> leftChild, LogicOperator logicOperator, ISelectQuery <TEntity> query, IRestriction <TEntity> rightChild)
        {
            var parentRestriction = new ParentRestriction <TEntity>(leftChild, logicOperator, query, rightChild);

            query.Restriction = parentRestriction;
            return(query);
        }
 public ISelectQuery <TEntity> And(IRestriction <TEntity> restriction)
 {
     return(ParentRestriction <TEntity> .CreateParentRestriction(this, LogicOperator.And, _query, restriction));
 }