Udostępnij przez


Wprowadzenie do DiffGrams w SQLXML 4.0

Ten temat zawiera krótkie wprowadzenie do DiffGrams.

W formacie DiffGram Format

Jest to ogólny format w formacie DiffGram:

<?xml version="1.0"?>
<diffgr:diffgram 
         xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
         xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <DataInstance>
      ...
   </DataInstance>
   [<diffgr:before>
        ...
   </diffgr:before>]

   [<diffgr:errors>
        ...
   </diffgr:errors>]
</diffgr:diffgram>

Format w formacie DiffGram składa się z tych bloków:

  • <DataInstance>
    Nazwa tego elementu DataInstance, jest używany do celów wyjaśnienie w tej dokumentacji.Na przykład, jeśli w formacie DiffGram zostały wygenerowane z zestawu danych w programie .NET Framework, w wartości Nazwa właściwość do danych może być używany jako nazwa tego elementu.Blok ten zawiera wszystkie odpowiednie dane po zmianie, prawdopodobnie włącznie z danymi, który nie został zmodyfikowany.Logiki przetwarzania w formacie DiffGram ignoruje elementy znajdujące się w tym blok, dla których diffgr:hasChanges nie jest on określony.

  • <diffgr: przed>
    Ten opcjonalny blok zawiera oryginalnego wystąpienia rekordu (elementów), które musi zostać zaktualizowany lub usunięty.Wszystkie bazy danych tabele, które należy zmodyfikować (zaktualizowane lub usunięte) przez w formacie DiffGram musi pojawić się jako elementów najwyższego poziom w <przed> blok.

  • <diffgr:errors>
    Ten opcjonalny blok jest ignorowany przez logiki przetwarzania w formacie DiffGram.

W formacie DiffGram adnotacje

Adnotacje te są zdefiniowane w przestrzeni nazw w formacie DiffGram "urn: schemas - microsoft - com:xml - diffgram - 01":

  • Identyfikator
    Ten atrybut jest używany do elementów w parą <przed> oraz <DataInstance> bloki.

  • hasChanges
    Wstaw lub operacji aktualizacji w formacie DiffGram należy określić ten atrybut z wartością dodaje or zmodyfikowane.Jeśli ten atrybut jest nieobecny, odpowiedni element w <DataInstance> jest ignorowany przez przetwarzanie logiki i aktualizacje nie są wykonywane. W przypadku pracy próbek zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

  • parentID
    Ten atrybut jest używany do określania relacji nadrzędny podrzędność między elementami w w formacie DiffGram.Atrybut ten jest wyświetlany tylko w <przed> blok. Jest on używany przez SQLXML podczas stosowania aktualizacji.Relacji nadrzędny podrzędność jest używana przy określaniu kolejności, w którym przetwarzane są elementy w w formacie DiffGram.

Opis logiki przetwarzania w formacie DiffGram

Przetwarzanie logiki zastosowań w formacie DiffGram pewne zasady do ustalenia, czy operacja jest wstawiania, aktualizacji lub usuwania operacji.Zasady te są opisane w poniższej tabela.

Operacja

Description

Wstawianie

Element w formacie DiffGram wskazuje operację wstawiania, gdy element zostanie wyświetlony w <DataInstance> blok, ale nie w odpowiadających im <przed> Blok oraz diffgr:hasChanges atrybut jest określony (diffgr:hasChanges = dodaje) w elemencie.W takim przypadek w formacie DiffGram wstawia wystąpienie rekordu, które określono w <DataInstance> blok do bazy danych.

Jeśli diffgr:hasChanges atrybut nie zostanie określona, element jest ignorowany przez logiki przetwarzania i wstawiania nie jest wykonywane.W przypadku pracy próbek zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Aktualizacja

W formacie DiffGram wskazuje operację aktualizacji, jeśli brakuje elementu <przed> blok, dla których nie ma odpowiedniego elementu w <DataInstance> blok (to znaczy oba elementy mają diffgr:ID atrybutu z tą samą wartością) i diffgr:hasChanges atrybut jest określany za pomocą wartości zmodyfikowane w elemencie w <DataInstance> blok.

Jeśli diffgr:hasChanges nie jest on określony dla elementu w <DataInstance> blok, zwracany jest błąd przez logiki przetwarzania. W przypadku pracy próbek zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Jeśli diffgr:parentID określona w <przed> blok, relacji nadrzędny podrzędność elementów, które są określone przez parentID są używane przy określaniu kolejności, w którym rekordy są aktualizowane.

Usuń

Element w formacie DiffGram wskazuje operacji usuwania, gdy element zostanie wyświetlony w <przed> blok, ale nie w odpowiadających im <DataInstance> blok. W takim przypadek w formacie DiffGram usuwa wystąpienie rekordu określonym w <przed> blok z bazy danych. W przypadku pracy próbek zobacz Przykłady w formacie DiffGram (SQLXML 4.0).

Jeśli diffgr:parentID określona w <przed> blokowanie relacji nadrzędny podrzędność elementów, które są określone przez parentID są używane przy określaniu kolejności, w którym rekordy są usuwane.

Uwaga

Parametry nie mogą być przekazywane do DiffGrams.