예제 #1
0
        /// <summary>
        /// Resolve LINQ expression into BsonExpression
        /// </summary>
        public BsonExpression GetExpression <T, K>(Expression <Func <T, K> > predicate)
        {
            var visitor = new LinqExpressionVisitor(this, predicate);

            var expr = visitor.Resolve(typeof(K) == typeof(bool));

            LOG($"`{predicate.ToString()}` -> `{expr.Source}`", "LINQ");

            return(expr);
        }
예제 #2
0
        /// <summary>
        /// Resolve LINQ expression into BsonExpression
        /// </summary>
        public BsonExpression GetExtendExpression <T, K>(Expression <Func <T, K> > predicate)
        {
            var visitor = new LinqExpressionVisitor(this);

            return(visitor.Resolve(predicate, false, true));
        }
예제 #3
0
        /// <summary>
        /// Resolve LINQ expression into BsonExpression
        /// </summary>
        public BsonExpression GetExpression <T, K>(Expression <Func <T, K> > predicate)
        {
            var visitor = new LinqExpressionVisitor(this);

            return(visitor.Resolve(predicate, typeof(K) == typeof(bool), false));
        }