public static EFQuery compare(SelectionComparison comparison, string fieldName, object rightHandSide) { return(new EFQuery { selectionComparison = comparison, fieldName = fieldName, rightHandSide = rightHandSide as EFQuery ?? EFQuery.constant(rightHandSide) }); }
private Expression getStaticCallMethod( SelectionComparison selectionComparison, MemberExpression member, Expression converted) { if (selectionComparison == SelectionComparison.Like) { var method = typeof(SqlFunctions).GetMethod("PatIndex"); var methodExpression = Expression.Call(method, converted, member); var zeroExpression = Expression.Constant(0, typeof(int?)); var greaterThanExpression = Expression.GreaterThan(methodExpression, zeroExpression); return(greaterThanExpression); } throw new InvalidExpressionException(String.Format("Invalid SelectionComparison {0}", selectionComparison)); }