public static BetweenExpression Between(Symbol propertyName, Constant start, Constant end) => new BetweenExpression(propertyName, start, end);
public static BetweenExpression Between(Symbol propertyName, object start, object end) => new BetweenExpression(propertyName, new Constant(start), new Constant(end));
public static Expression StartsWith(Symbol propertyName, Constant value) => new FunctionExpression("startsWith", propertyName, value);
public static Expression Size(Symbol propertyName) => new FunctionExpression("size", propertyName);
public static Expression In(Symbol propertyName, params long[] values) => new InExpression(propertyName, values.Select(Constant).ToArray());
public static Expression Contains(Symbol propertyName, Constant value) => new FunctionExpression("contains", propertyName, value);
// Dynamo NOTE: IN : Checks for matching elements within two sets. public static Expression In(Symbol propertyName, params Expression[] values) => new InExpression(propertyName, values);
public static Expression Lte(Symbol name, object value) => new BinaryExpression(name, ExpressionKind.Lte, Constant(value));
public static Expression NotEq(Symbol propertyName, object value) => new BinaryExpression(propertyName, ExpressionKind.NotEqual, Constant(value));
public static Expression Eq(Symbol propertyName, Symbol symbol) => new BinaryExpression(propertyName, ExpressionKind.Equal, symbol);
public static Expression Eq(Symbol propertyName, string value) => new BinaryExpression(propertyName, ExpressionKind.Equal, new Constant(value));