0

Je suis un débutant dans Azure, donc j'ai lu le Microsoft Table​Operation.​Merge Method.Microsoft Documentation de mauvaise qualité sur Azure: opération de table Méthode de fusion

Crée une nouvelle opération de table qui fusionne le contenu de l'entité avec l'entité existante dans une table.

C'est tout ... Maintenant, que dois-je comprendre à partir du concept de "fusion"? Comment exactement cette fusion arrive.

Dire que j'ai

Body {PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll} > 
Body {PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h} 
  • Que se passe avec des valeurs vides/nulles? Que se passe-t-il si l'article est introuvable?
  • À quelles exceptions dois-je m'attendre?
  • Quelle est la différence entre InsertOrMerge et Fusionner?

Comment puis-je deviner?

Répondre

1

Merge l'opération crée réellement un surensemble. Pour le dire simplement:

  • Si l'ancienne entité n'a pas d'attribut et le nouveau fait: L'entité résultante aura ce nouvel attribut.
  • Si l'ancienne entité a un attribut et que le nouveau ne l'est pas: La valeur de cet attribut ne sera pas modifiée. Ce sera le même que celui de l'ancienne valeur.
  • Si l'ancienne entité a un attribut et que le nouvel a également cet attribut: L'entité résultante remplacera la valeur de l'attribut.

Donc, dans votre exemple:

ancienne entité:

{PK: b, RK: 1, LeftHand: null, RightHand: 1000, LeftLeg: ll} 

nouvelle entité:

{PK: b, RK: 1, LeftHand: 9999, RightHand: null, Head: h} 

Entité Après la fusion:

{PK: b, RK: 1, LeftHand: 9999, RightHand: 1000, LeftLeg: 11, Head: h} 
+0

Ok, mais que se passe-t-il s'il n'y a pas d'ancienne entité? – Serge

+0

comment puis-je forcer * null * dans le RightHand ou supprimer la tête? via Remplacer, je suppose? – Serge

+0

'comment je force null dans le RightHand' - Vous devez utiliser' Replace' et ne pas fusionner. «Que se passe-t-il s'il n'y a pas d'ancienne entité?» Qu'entendez-vous par là? –