Beispiel #1
0
        protected virtual void VisitWhereIn(WhereInExpression expression)
        {
            IWhereExpression exp = new FalseExpression();

            foreach (var value in expression.Values)
            {
                exp = new OrElseExpression(exp, new WhereEqualsExpression(null, expression.FieldName, value));
            }
            this.VisitWhere(exp);
        }
Beispiel #2
0
        public void Test_Visit_Where_In()
        {
            var whereIn = new WhereInExpression(null, "UUID", new[] { "value1" });
            CouchbaseVisitor visitor = new CouchbaseVisitor();

            visitor.Visite(whereIn);

            Console.WriteLine(visitor.ViewName);
            Console.WriteLine(visitor.WhereClause);
            Console.WriteLine(visitor.EQUUIDs.First());
        }
Beispiel #3
0
        public IContentQuery <T> WhereIn(string fieldName, params object[] values)
        {
            //IWhereExpression exp = new FalseExpression();
            //foreach (var value in values)
            //{
            //    exp = new OrElseExpression(exp, new WhereEqualsExpression(null, fieldName, value));
            //}
            //return this.Where(exp);
            var expression = new WhereInExpression(this.Expression, fieldName, values);

            return(this.Create(expression));
        }
Beispiel #4
0
 protected override void VisitWhereIn(WhereInExpression expression)
 {
     throw new NotImplementedException();
 }
Beispiel #5
0
 protected override void VisitWhereIn(WhereInExpression expression)
 {
     ThrowNotSupported();
 }
Beispiel #6
0
        protected override void VisitWhereIn(WhereInExpression expression)
        {
            var query = QueryBuilder.Query.In(expression.FieldName, expression.Values.Select(it => BsonHelper.Create(it)).ToArray());

            SetQuery(query);
        }
Beispiel #7
0
 protected override void VisitWhereIn(WhereInExpression expression)
 {
     clauseText.AppendFormat("({0} IN ({1}))", expression.FieldName, string.Join(",", expression.Values));
 }