2012-08-05 62 views
1

中的所有實體我試圖使用ReadingEntity和WritingEntity事件動態地將屬性添加到Azure表存儲,如下所述:How to add new properties to an entity saved in Azure Table Storage?將屬性添加到Azure表中的實體存儲似乎將空屬性添加到表

目的是將我的poco上的List屬性保存到表存儲中。爲了達到這個目的,每當我需要爲一個實體添加一個新項目到列表中時,我都會從表存儲中獲取該實體,計算具有該實體特定名稱的屬性數量,然後添加另一個同名並在最後增加索引 - 例如,如果實體具有屬性Friend1,Friend2和Friend3,我將添加Friend4。

我遇到的問題是,當我添加一個屬性到1個實體時,它似乎將它添加到表中的所有實體(或者可能是分區 - 我沒有檢查過)。所以,如果我將Friend1添加到Entity1,然後將Friend屬性添加到Entity2,我期望添加Entity2.Friend1。相反,Friend1似乎已經存在於Entity2上,具有NULL值。因此添加屬性的代碼看到Friend1已經存在,並將Friend2屬性添加到Entity2。就好像這是一個關係數據庫,並且我正在架構中創建一列。顯然這完全摧毀了我的計劃,如何存儲這些信息...

這是它應該如何工作?我正在理解屬性可能對每個實體都是唯一的。

謝謝!

+1

這是否有可能違反存儲模擬器(開發存儲)? – 2012-08-05 02:22:49

+2

我敢打賭@ GauravMantri的猜測是正確的。 :-)開發存儲做奇怪的事情......它實際上使用關係數據庫。嘗試使用實際的存儲服務。 – smarx 2012-08-05 07:20:53

+0

你是對的 - 它是一個開發者存儲模擬器。感謝您的幫助 - 我將嘗試使用真實的存儲帳戶,並查看問題是否會消失! – 2012-08-07 23:08:13

回答

0

Gaurav和smarx是正確的 - 當使用表存儲服務而不是本地存儲服務模擬器時問題消失。