Gegeben eine PartitionKey, RowKey, Eigenschaftsnamen und-Wert, wie aktualisiere ich, dass Person, Eigentum Wert?

Mit azure-Tabellen, wenn ich das wissen eines Unternehmens RowKey und PartitionKey (so kann ich abrufen, dass die Person), wie Bearbeite ich einen bestimmten Wert der Eigenschaft auf, dass die Entität?

Das klingt wie ein ziemlich standard-Betrieb zu tun, aber der normale Weg, es zu tun ist etwas wie:

public void UpdateEntity(ITableEntity entity)
{
    TableOperation replaceOperation = TableOperation.Replace(entity);
    table.Execute(replaceOperation);
}

also eine ganze C# TableEntity Objekt als Ersatz, eher als eine einzelne Eigenschaft name/Wert-paar.

Möchte ich etwas mehr wie:

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);
}

Mein Verständnis ist, dass hinter den kulissen, die Zeilen sind gespeichert als ein Satz von Schlüssel-Wert-Paare entsprechend der Eigenschaften auf, die Zeile, so dass das aktualisieren des Werts einer Eigenschaft sollte einfach sein, ohne zu definieren, eine ganze C# - Klasse, die sich aus TableEntity zu tun.

Wie kann ich dies tun?

Schreibe einen Kommentar