public AndSpecification(Specification <TEntity> left, Specification <TEntity> right)
 {
     _left  = left;
     _right = right;
 }
 public Specification <TEntity> Or(Specification <TEntity> specification)
 {
     return(new OrSpecification <TEntity>(this, specification));
 }
 public NotSpecification(Specification <TEntity> specification)
 {
     _specification = specification;
 }
 public Specification <TEntity> And(Specification <TEntity> specification)
 {
     return(new AndSpecification <TEntity>(this, specification));
 }