protected void VisitWhereCall(Expression whereBodyExp)
        {
            var whereVisitor = new WhereVisitor(this._tableEntityType);

            whereVisitor.Visit(whereBodyExp);

            // converting conditions
            if
            (
                (whereVisitor.FieldNames.Count != whereVisitor.ScanOperators.Count)
                ||
                (whereVisitor.ScanOperators.Count != whereVisitor.FieldValues.Count)
            )
            {
                throw new InvalidOperationException("Failed to convert the query to a list of search conditions");
            }

            for (int i = 0; i < whereVisitor.FieldNames.Count; i++)
            {
                this.TranslationResult.Conditions.AddCondition
                (
                    whereVisitor.FieldNames[i],
                    new SearchCondition(whereVisitor.ScanOperators[i], whereVisitor.FieldValues[i])
                );
            }
        }
        protected void VisitWhereCall(Expression whereBodyExp)
        {
            var whereVisitor = new WhereVisitor(this._tableEntityType);

            whereVisitor.Visit(whereBodyExp);

            // converting conditions
            if
            (
                (whereVisitor.FieldNames.Count != whereVisitor.ScanOperators.Count)
                ||
                (whereVisitor.ScanOperators.Count != whereVisitor.FieldValues.Count)
            )
            {
                throw new InvalidOperationException("Failed to convert the query to a list of search conditions");
            }

            for (int i = 0; i < whereVisitor.FieldNames.Count; i++)
            {
                this.TranslationResult.Conditions.AddCondition
                (
                    whereVisitor.FieldNames[i],
                    new SearchCondition(whereVisitor.ScanOperators[i], whereVisitor.FieldValues[i])
                );
            }
        }