Steve Marxは、新しいストレージプロトコルバージョンの一部としてAzureTableStorageでアップサートを実行するための新しい拡張メソッドについて次のように書いています。
http://blog.smarx.com/posts/extension-methods-for-the-august-storage-features
ただし、アップサートではなく、無条件のマージまたはスローの元の操作を実行したい場合はどうなりますか。オブジェクトをマージして単一のフィールドを更新したいのですが、マージしているプロパティのみを含む新しいエンティティを作成するのではなく、エンティティが存在しない場合はスローします。
これは可能ですか?他の場所でupsertを使用したいので、IoCに。GetDataServiceContext2011
の代わりにから作成されたコンテキストを提供してもらうことにしましたGetDataServiceContext
。この2つを交互に使用できると思いますが、Azureチームが公式ライブラリを更新する場合は役に立ちません。
MSDNによると:
エンティティの挿入またはマージ操作はMERGE動詞を使用し、2011-08-18バージョン以降を使用して呼び出す必要があります。また、If-Matchヘッダーは使用しません。これらの属性は、この操作をエンティティの更新操作と区別しますが、要求の本文は両方の操作で同じです。
では、ストレージライブラリに、保存時にワイルドカードIf-Match
をまったく発行しないのではなく、発行させるにはどうすればよいIf-Match
ですか?