private void ReWrite(QueryModel queryModel)
        {
            VisitQueryModel(queryModel);

            if (_joins.Count > 0)
            {
                MemberExpressionSwapper swap = new MemberExpressionSwapper(_expressionMap);
                queryModel.TransformExpressions(swap.VisitExpression);

                foreach (var join in _joins.Values)
                {
                    queryModel.BodyClauses.Add(join);
                }
            }
        }
        private void ReWrite(QueryModel queryModel)
        {
            VisitQueryModel(queryModel);

            if (_joins.Count > 0)
            {
                MemberExpressionSwapper swap = new MemberExpressionSwapper(_expressionMap);
                queryModel.TransformExpressions(swap.VisitExpression);

                foreach (var join in _joins.Values)
                {
                    queryModel.BodyClauses.Add(join);
                }
            }
        }