public Expression <Func <T, bool> > ToExpression() { Expression <Func <T, bool> > leftExpression = _spec2.ToExpression(); Expression <Func <T, bool> > rightExpression = _spec1.ToExpression(); BinaryExpression orExpression = Expression.OrElse(leftExpression.Body, rightExpression.Body); return(Expression.Lambda <Func <T, bool> >(orExpression, leftExpression.Parameters.Single())); }
public Expression <Func <T, bool> > ToExpression() { Expression <Func <T, bool> > leftExpression = _spec2.ToExpression(); Expression <Func <T, bool> > rightExpression = _spec1.ToExpression(); BinaryExpression equalExpression = null; if (Equality) { equalExpression = Expression.Equal(leftExpression, rightExpression); } else { equalExpression = Expression.NotEqual(leftExpression, rightExpression); } return(Expression.Lambda <Func <T, bool> >(equalExpression)); }