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. UpsertMultiple
verwenden, 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