public string GeneratePartitionKey(string rowKey, object entityValue, MemberInfo memberInfo)
        {
            var memberValue = memberInfo.GetValue(entityValue);
            var strValue    = IdLookupAttribute.RowKey(this.GetType(), memberInfo.GetPropertyOrFieldType(), memberValue);

            return(strValue);
        }
        public string ComputePartitionKey(object refKey, MemberInfo memberInfo, string rowKey,
                                          params KeyValuePair <MemberInfo, object>[] extraValues)
        {
            var idValue  = extraValues.Where(extraValue => extraValue.Key == memberInfo).First().Value;
            var strValue = IdLookupAttribute.RowKey(this.GetType(), memberInfo.GetPropertyOrFieldType(), idValue);

            return(strValue);
        }
        public string MutateKey(string currentKey, MemberInfo key, object value, out bool ignore)
        {
            ignore = false;
            var idValue = IdLookupAttribute.RowKey(this.GetType(), key.GetPropertyOrFieldType(), value);

            if (idValue.IsNullOrWhiteSpace())
            {
                ignore = true;
            }
            return($"{currentKey}{idValue}");
        }