public Expression BuildPropertyComparisonExpression(ParameterExpression entityParameter,
                                                     IPropertyMap property, object comparisonValue)
 {
     return(ComparisonExpressionBuilder.BuildPropertyComparisonExpression(
                entityParameter, property, comparisonValue,
                (propertyExpr, comparisonValueExpr) => Expression.Call(propertyExpr, _stringEndsWithMethod, comparisonValueExpr)));
 }
        public Expression BuildPropertyComparisonExpression(ParameterExpression entityParameter,
                                                            IPropertyMap property, object comparisonValue)
        {
            var enumerableContainsMethod = EnumerableMethods.Contains.MakeGenericMethod(property.PropertyInfo.PropertyType);

            return(ComparisonExpressionBuilder.BuildPropertyComparisonExpression(
                       entityParameter, property, ComparisonExpressionBuilder.BuildEnumerableComparisonValueGetter(comparisonValue),
                       (propertyExpr, comparisonValueExpr) => Expression.Not(Expression.Call(enumerableContainsMethod, comparisonValueExpr, propertyExpr))));
        }
 public Expression BuildPropertyComparisonExpression(ParameterExpression entityParameter,
                                                     IPropertyMap property, object comparisonValue)
 {
     return(ComparisonExpressionBuilder.BuildPropertyComparisonExpression(entityParameter,
                                                                          property, comparisonValue, Expression.GreaterThan));
 }
 public Expression BuildPropertyComparisonExpression(ParameterExpression entityParameter,
                                                     IPropertyMap property, object comparisonValue)
 {
     return(ComparisonExpressionBuilder.BuildPropertyComparisonExpression(entityParameter,
                                                                          property, (property) => Expression.Constant(null), GetNullComparisonOperation(comparisonValue)));
 }