Freigeben über


Verwenden Sie UpsertMultiple (Vorschauversion)

[Dieses Thema ist Teil der Dokumentation zur Vorabversion und kann geändert werden.]

Wichtig

Dies ist eine Vorschauversion.

Die Vorschaufunktionen sind nicht für die Produktion vorgesehen und weisen möglicherweise eine eingeschränkte Funktionalität auf. Diese Funktionen stehen vor der offiziellen Version zur Verfügung, damit Kunden früher Zugriff darauf erhalten und Feedback geben können.

Verwenden Sie Upsert, um Daten mit externen Quellen zu integrieren, wenn Sie nicht wissen, ob die Tabelle in Dataverse existiert oder nicht. Upsert-Vorgänge sind häufig auf alternative Schlüssel angewiesen, um Datensätze zu identifizieren. UpsertMultipleverwenden, um Upsert Massenvorgänge auszuführen.

Verwendet die UpsertMultipleRequest Klasse.

Dieses Statik UpsertMultipleExample Methode hängt von einer samples_bankaccount Tabelle ab. Diese hat eine Zeichenfolgenspalte mit dem Namen samples_accountname, die als Alternativschlüssel konfiguriert ist. Es gibt auch eine Zeichenfolgenspalte mit dem Namen samples_description. Dieser Code verwendet den Entitätskonstruktor, der den Schlüsselnamen und den Schlüsselwert festlegt, um den Alternativschlüssel-Wert anzugeben.

/// <summary>
/// Demonstrates using UpsertMultiple with alternate key values
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance</param>
static void UpsertMultipleExample(IOrganizationService service)
{
    var tableLogicalName = "samples_bankaccount";
    // samples_accountname string column is configued as an alternate key
    // for the samples_bankaccount table
    var altKeyColumnLogicalName = "samples_accountname";

    // Create one record to update with upsert
    service.Create(new Entity(tableLogicalName)
    {
        Attributes =
        {
            {altKeyColumnLogicalName, "Record For Update"},
            {"samples_description","A record to update using Upsert" }
        }
    });

    // Using the Entity constructor to specify alternate key
    Entity toUpdate = new(
            entityName: tableLogicalName,
            keyName: altKeyColumnLogicalName,
            // Same alternate key value as created record.
            keyValue: "Record For Update");
    toUpdate["samples_description"] = "Updated using Upsert";

    Entity toCreate = new(
        entityName: tableLogicalName,
        keyName: altKeyColumnLogicalName,
        keyValue: "Record For Create");
    toCreate["samples_description"] = "A record to create using Upsert";

    // Add the records to a collection
    EntityCollection records = new()
    {
        EntityName = tableLogicalName,
        Entities = { toUpdate, toCreate }
    };

    // Send the request
    UpsertMultipleRequest request = new()
    {
        Targets = records
    };

    var response = (UpsertMultipleResponse)service.Execute(request);

    // Process the responses:
    foreach (UpsertResponse item in response.Results)
    {
        Console.WriteLine($"Record {(item.RecordCreated ? "Created" : "Updated")}");
    }
}

Ausgabe:

Record Updated
Record Created

Verfügbarkeit

UpsertMultiple ist für Tabellen verfügbar, die CreateMultiple und UpdateMultiple unterstützen. Hierzu zählen alle elastischen Tabellen. Die Abfragen, die in Verfügbarkeit mit Standardtabellen gefunden wurde, gibt keine UpsertMultiple Ergebnisse zurück.

Beispiele

Beispielcode finden Sie auf GitHub unter github.com/microsoft/PowerApps -Beispielcode:

Innerhalb Beispiel: SDK für .NET verwenden Sie Massenvorgänge, suchen nach UpsertMultiple-Projekt

Siehe auch

Nachrichten für Massenvorgänge verwenden
Elastische Tabelle
Beispiel: SDK für .Net Massenvorgänge nutzen