public PartitionKeyExtractor(string partitionKeyProperty)
            {
                Guard.NotEmpty("partitionKeyProperty", partitionKeyProperty);

                var evaluationVisitor = new DataItemMemberEvaluationVisitor();
                new JavascriptMemberExpression(partitionKeyProperty).Accept(evaluationVisitor);
                partitionKeyExtractor = evaluationVisitor.GetAccessor();
            }
 private static object EvaluateProperty(IDataItem dataItem, string expression)
 {
     var visitor = new DataItemMemberEvaluationVisitor();
     new JavascriptMemberExpression(expression).Accept(visitor);
     return visitor.GetAccessor()(dataItem);
 }