我試圖使用asure sdk 1.6(針對存儲模擬器)的新的upsert功能。Azure Table Storage sdk 1.6沒有插入的Upsert
但我只設法讓更新工作。當我嘗試插入一個新的rowkey時,我得到resource not found
異常。
var context = new TableServiceContext(_cloudStorageAccount.TableEndpoint.ToString(), _cloudStorageAccount.Credentials)
{
MergeOption = MergeOption.NoTracking,
ResolveType = (unused) => typeof(SmartTableServiceEntity)
};
context.AttachTo(tableName, smartEntity, "*");
context.UpdateObject(smartEntity);
context.SaveChangesWithRetries(SaveChangesOptions.ReplaceOnUpdate);
如果我把AddObject
它插入,但沒有更新。 由於新的SDK,我正在考慮能夠在一個操作中同時執行這兩個操作。
由於兩個原因,我不打算解決本地存儲的侷限性:(1)每月存儲每GB 0.14美元的定價和每10,000次存儲事務0.01美元的定價(這意味着我將使用真正的Azure帳戶); (2)大多數情況下,Windows Azure Tools/SDK的下一版本將具有本地存儲模擬器的該功能。 – astaykov 2011-12-21 20:12:10
是的,這確實使sens。謝謝 :) – 2011-12-23 10:21:22