Existe-t-il un moyen dans le stockage de table de lire puis de mettre à jour un enregistrement ? Par exemple, dans le serveur SQL, j'utiliserais une requête comme celle-ci :

UPDATE table
SET
    testValue = 1
OUTPUT
    inserted.columnA,
    inserted.columnB,
    inserted.columnC
WHERE
    testValue = 0

Actuellement, mon code ressemble à ceci:

var filter = "testValue eq 0";
var rangeQuery = new TableQuery<AzStorageEntityAdapter<T>>().Where(filter);

var result = _cloudTable.ExecuteQuery(rangeQuery);

var azStorageEntities = result.ToList();
IList<T> results = azStorageEntities.Select(r => r.InnerObject).ToList();

Existe-t-il un moyen d'ajouter une clause de mise à jour avec ma clause where lorsqu'elle lit les valeurs qui répondent aux critères de filtrage que « testValue » est également mis à jour à 1 ?

1
joe127 21 févr. 2020 à 21:37

1 réponse

Meilleure réponse

Malheureusement, ce n'est pas possible en une seule opération.

Vous devez d'abord récupérer une entité (1ère opération), la mettre à jour puis la réenregistrer dans la table (2ème opération).

1
Gaurav Mantri 22 févr. 2020 à 00:49