Azureテーブルで、エンティティのRowKeyとPartitionKeyを知っている場合(そのエンティティを取得できるようにするため)、そのエンティティの特定のプロパティ値を編集するにはどうすればよいですか?
これはかなり標準的な操作のように聞こえますが、通常の方法は次のようになります。
public void UpdateEntity(ITableEntity entity)
{
TableOperation replaceOperation = TableOperation.Replace(entity);
table.Execute(replaceOperation);
}
つまり、個々のプロパティ名と値のペアではなく、C#TableEntityオブジェクト全体が置換として提供されます。
私はもっと次のようなものが欲しいです:
public void UpdateEntityProperty<T>(string partitionKey, string rowKey,
string propertyName, T newPropertyValue)
{
TableOperation retrieveOperation = TableOperation.Retrieve(partitionKey, rowKey);
TableResult retrievedResult = table.Execute(retrieveOperation);
TableEntity entity = (TableEntity)retrievedResult.Result;
// This line, of course, doesn't compile. But you get the idea.
entity.SetPropertyValue(propertyName, newPropertyValue);
TableOperation replaceOperation = TableOperation.Replace(entity);
table.Execute(replaceOperation);
}
私の理解では、行はその行のプロパティに対応するキーと値のペアのセットとして格納されるため、TableEntityから派生したC#クラス全体を定義しなくても、プロパティの値を簡単に更新できます。
どうすればいいですか?