private WhereDeclaration <TSource> BooleanClause <TCustom>(LogicalOperator booleanOperation, IEnumerable <Expression <Func <WhereDeclaration <TCustom>, WhereDeclaration <TCustom> > > > expressions) { WhereDeclaration <TCustom> nestedDeclaration = new WhereDeclaration <TCustom>(); foreach (var expres in expressions) { nestedDeclaration = expres.Compile().Invoke(nestedDeclaration); } _clauses.Add(new LogicalClause(booleanOperation, nestedDeclaration.GetClauses())); return(this); }
public WhereFollowingBuilder <T> Where(WhereDeclaration <T> declaration) { return(Where(declaration.GetClauses().Single())); }