我正在尝试使用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属性。好像这是一个关系数据库,我在模式中创建一个列。显然这完全破坏了我如何存储这些信息的计划...
这是怎么回事?我的工作理解是,每个实体的属性都是唯一的。
谢谢!
答案 0 :(得分:0)
Gaurav和smarx是对的 - 当使用表存储服务而不是本地存储服务模拟器时,问题就消失了。