史蒂夫馬克思新UPSERT寫了關於新的擴展方法在Azure Table中存儲這裏的新存儲協議版本的一部分來執行upserts:避免在Azure Table中存儲
http://blog.smarx.com/posts/extension-methods-for-the-august-storage-features
但是,如果我想要什麼做無條件合併或投擲的原始操作,而不是頂點。我想合併一個對象,更新單個字段,但是如果實體不存在,則拋出,而不是創建一個僅包含我正在合併的屬性的新實體。
這可能嗎?請注意,我想在其他地方使用upsert,因此我已採取讓IoC爲我提供從GetDataServiceContext2011
而不是GetDataServiceContext
創建的上下文。我想我可以在兩者之間進行交替,但當Azure團隊更新官方庫時,這無濟於事。
根據MSDN:
的插入或合併實體的操作使用MERGE動詞,並且必須是 使用2011-08-18版或更新版本調用。另外,它不使用If-Match頭部 。這些屬性將此操作與更新實體操作 區分開來,儘管兩個操作的請求主體都是相同的 。
所以,我怎麼存儲庫發出上省錢,而不是不發出If-Match
在所有通配符If-Match
?
謝謝。我對這件事感到很沮喪。 :-P –
@smarx etag實際上做了什麼?我試圖谷歌,但沒有找到任何解釋。 – starcorn
@starcom在這種情況下,問題本身給出了答案並提供了源代碼(MSDN)。 – smarx