【问题标题】:Adding property to entity in Azure Table Storage seems to add null property to all entities in table将属性添加到 Azure 表存储中的实体似乎会将空属性添加到表中的所有实体
【发布时间】:2012-08-05 01:51:51
【问题描述】:

我正在尝试使用 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 已经存在,并将 Friend2 属性添加到 Entity2。好像这是一个关系数据库,我正在架构中创建一个列。显然,这完全破坏了我如何存储这些信息的计划......

这是它应该如何工作的?我一直在理解每个实体的属性可能是唯一的。

谢谢!

【问题讨论】:

  • 这对存储模拟器(开发存储)有任何影响吗?
  • 我敢打赌@GauravMantri 的猜测是正确的。 :-) 开发存储做了一些奇怪的事情……它实际上在后台使用了一个关系数据库。用实际的存储服务试试这个。
  • 你是对的——这是一个开发存储模拟器。感谢您的帮助 - 我会尝试使用真实的存储帐户,看看如果问题消失了怎么办!
  • 我在 Azure 中启动并运行了我的应用程序,问题就消失了!多谢你们。如果您想实际创建此问题的答案,我会接受它,以便您获得信用。谢谢!

标签: azure azure-table-storage


【解决方案1】:

Gaurav 和 smarx 是对的 - 当使用表存储服务而不是本地存储服务模拟器时,问题就消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 2012-02-13
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多