protected override void VisitOrElse(Query.Expressions.OrElseExpression expression) { string leftClause = ""; if (!(expression.Left is FalseExpression)) { var leftVisitor = VisitInner(expression.Left); leftClause = leftVisitor.WhereClause; } string rightClause = ""; if (!(expression.Right is FalseExpression)) { var rightVisitor = VisitInner(expression.Right); rightClause = rightVisitor.WhereClause; } if (!string.IsNullOrEmpty(leftClause) && !string.IsNullOrEmpty(rightClause)) { whereClause.AppendFormat(string.Format("(({0}) OR ({1}))", leftClause, rightClause)); } else if (!string.IsNullOrEmpty(leftClause)) { whereClause.AppendFormat(string.Format("({0})", leftClause)); } else if (!string.IsNullOrEmpty(rightClause)) { whereClause.AppendFormat(string.Format("({0})", rightClause)); } }
protected override void VisitOrElse(Query.Expressions.OrElseExpression expression) { if (!(expression.Left is FalseExpression)) { VisitInner(expression.Left); } if (!(expression.Right is FalseExpression)) { VisitInner(expression.Right); } }
protected override void VisitOrElse(Query.Expressions.OrElseExpression expression) { Expression <Func <MediaContent, bool> > leftClause = it => false; if (!(expression.Left is FalseExpression)) { leftClause = VisitInner(expression.Left); } Expression <Func <MediaContent, bool> > rightClause = it => false; if (!(expression.Right is FalseExpression)) { rightClause = VisitInner(expression.Right); } var exp = PredicateBuilder.Or(leftClause, rightClause); LinqExpression = PredicateBuilder.And(LinqExpression, exp); }