我正在尝试使用 ReadingEntity 和writingEntity 事件动态地将属性添加到 Azure 表存储,如下所述:How to add new properties to an entity saved in Azure Table Storage? 。
目的是将我的 poco 上的 List 属性保存到表存储中。为了实现这一目标,每次我需要向实体的列表中添加新项目时,我都会从表存储中获取该实体,计算该实体具有的特定名称的属性数量,然后添加另一个属性具有相同的名称并在末尾增加索引 - 例如,如果一个实体具有属性 Friend1、Friend2 和 Friend3,我将添加 Friend4。
我遇到的问题是,当我向 1 个实体添加属性时,它似乎将其添加到表中的所有实体(或者可能是分区 - 我尚未检查)。因此,如果我将 Friend1 添加到 Entity1,然后将 Friend 属性添加到 Entity2,我期望添加 Entity2.Friend1。相反,Friend1 似乎已经存在于 Entity2 上,并且具有 NULL 值。因此,添加属性的代码会看到 Friend1 已经存在,并向 Entity2 添加 Friend2 属性。就好像这是一个关系数据库,我正在架构中创建一个列。显然这完全破坏了我如何存储这些信息的计划......
这就是它应该如何工作的吗?我的理解是每个实体的属性可能都是唯一的。
谢谢!
最佳答案
Gaurav 和 smarx 是对的 - 当使用表存储服务而不是本地存储服务模拟器时,问题就消失了。
关于azure - 向 Azure 表存储中的实体添加属性似乎向表中的所有实体添加 null 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813376/