private IEnumerable <DynamicTableEntity> GeneratePersistPartitionData(T entity, EntityProperty serializedField, IEnumerable <KeyValuePair <string, EntityProperty> > fields)
        {
            List <DynamicTableEntity> result = new List <DynamicTableEntity>();

            foreach (var partition in EntityDefinition.GetPartitionsValues(entity))
            {
                var entityIdValues = EntityDefinition.GetIdValues(entity);
                var idString       = string.Join(StorageQueryBuilder.PARTITION_FIELD_SEPARATOR, entityIdValues.Select(StorageQueryBuilder.NormalizeStringValue));

                var partitionKey = StorageQueryBuilder.GetPartitionKeyValue(partition.Key, partition.Value);
                partitionKey = string.Join(StorageQueryBuilder.PARTITION_NAME_SEPARATOR, partition.Key, partitionKey);

                DynamicTableEntity record = new DynamicTableEntity(partitionKey, StorageQueryBuilder.GetTableKeyNormalizedValue(idString));
                record.ETag = "*";
                foreach (var field in fields)
                {
                    if (field.Value != null)
                    {
                        record.Properties.Add(field);
                    }
                }
                record.Properties.Add("Content", serializedField);
                result.Add(record);
            }

            return(result);
        }