Kaskadierendes Löschen in Microsoft Dataverse: So richtest du es ein
- kim

- 30. Juli
- 3 Min. Lesezeit
Beim Modellieren relationaler Datenstrukturen in Microsoft Dataverse stellt sich häufig die Frage:
Was soll mit abhängigen Datensätzen passieren, wenn ein übergeordneter Datensatz gelöscht wird? Genau hier kommt das sogenannte kaskadierende Löschen ins Spiel.
In diesem Beitrag zeige ich dir, wie du das kaskadierende Löschen für ein typisches hierarchisches Szenario einrichtest – am Beispiel eines Angebots, das Angebotstitel und Angebotspositionen enthält.
Das Datenmodell einfach erklärt
In unserem Szenario arbeiten wir mit einem klassischen Angebotsprozess im Handwerks- oder Dienstleistungsbereich. Ein typisches Angebot besteht aus mehreren Angebotstiteln, die wiederum in Angebotspositionen untergliedert sind.
Stellen wir uns ein Beispiel vor: Ein Kunde fragt bei einem Haustechnikunternehmen (z. B. Heizungsbauer) ein Angebot für eine Komplettsanierung an.
Das könnte wie folgt aufgebaut sein:
Angebot:"Angebot Nr. 1024 – Badsanierung Familie Meier"
Angebotstitel (Gliederung des Angebots in Leistungen):
Demontage und Entsorgung
Sanitärinstallation
Fliesenarbeiten
Angebotspositionen (konkrete Leistungen oder Materialien innerhalb eines Titels):
Unter Sanitärinstallation befinden sich z. B.:
Verlegung Wasserleitungen
Installation WC
Montage Waschtisch
Visualisierung des Datenmodells

✅ Ziel
Beim Löschen eines Angebots sollen automatisch …
alle zugehörigen Angebotstitel und
alle Angebotspositionen dieser Titel
… mit gelöscht werden.
Die wichtigsten Beziehungsverhalten in Dataverse kurz erklärt
Beim Erstellen von Beziehungen zwischen Tabellen in Microsoft Dataverse kannst du steuern, wie sich Änderungen an einem übergeordneten Datensatz (z.B. das Angebot) auf die untergeordneten Datensätze (z.B. die Angebotstitel) auswirken.
Die wichtigsten Verhaltensoptionen sind:
Übergeordnet: Änderungen (z. B. Löschen oder Neuzuordnung des Besitzers) werden automatisch an alle untergeordneten Datensätze weitergegeben. Ideal, wenn z. B. beim Löschen eines Angebots auch alle zugehörigen Titel und Positionen gelöscht werden sollen.
Referenziell: Die Beziehung bleibt erhalten, aber Aktionen wie Löschen oder Neuzuordnen wirken sich nicht automatisch auf untergeordnete Datensätze aus. Du kannst wählen, ob der untergeordnete Datensatz dann „verwaist“ sein darf (Link entfernen) oder ob das Löschen blockiert wird (Einschränken).
Benutzerdefiniert: Du kannst für jede Aktion (z. B. Löschen, Zuweisen, Freigeben) individuelle Regeln festlegen – z. B. „nur beim Löschen kaskadieren, aber nicht beim Zuweisen“. Für komplexere Szenarien mit differenziertem Verhalten.
Umsetzung in Dataverse
🔧 Schritt 1: Beziehung Angebot → Angebotstitel konfigurieren
Öffne make.powerapps.com und wähle die richtige Umgebung.
Navigiere zu Dataverse → Tabellen und öffne die Tabelle „Angebotstitel“.
Wechsle zum Reiter „Beziehungen“.
Suche nach der Beziehung zur Tabelle „Angebot“ (Typ: n:1, also ein Angebot → viele Angebotstitel).
Klicke auf die Beziehung, um sie zu bearbeiten.
Im Bereich „Beziehungsverhalten“: Wähle den Modus „Übergeordnet“
Speichern und veröffentlichen.

🔧 Schritt 2: Beziehung Angebotstitel → Angebotsposition konfigurieren
Öffne die Tabelle „Angebotsposition“.
Wechsle zu „Beziehungen“.
Bearbeite die Lookup-Beziehung zur Tabelle „Angebotstitel“.
Stelle im Bereich „Beziehungsverhalten“: Wähle den Modus „Übergeordnet“
Auch hier: Speichern und veröffentlichen.

📌 Hinweise & Best Practices
Die Kaskadierung funktioniert nur bei 1:n-Beziehungen.
Das Löschen erfolgt rekursiv – d. h. Angebot → Titel → Position wird durchgereicht.
Achte darauf, dass du nicht versehentlich zu viele Daten löschst – z. B. wenn mehrere Beziehungen indirekt betroffen sind.
In besonders sensiblen Szenarien kann ein zusätzlicher Bestätigungsprozess sinnvoll sein
🧪 Testempfehlung für die Praxis
Um sicherzugehen, dass alles korrekt konfiguriert ist:
Lege ein Test-Angebot an.
Füge zwei Angebotstitel und pro Titel zwei Angebotspositionen hinzu.
Lösche das Test-Angebot.
Prüfe, ob alle abhängigen Datensätze mit gelöscht wurden.
Wenn du Logs brauchst oder weitere Prüfungen durchführen möchtest, kannst du optional einen Power Automate Flow implementieren, der auf das Löschen des Angebots reagiert.
Fazit
Mit dem richtigen Beziehungsverhalten lässt sich die Datenintegrität in Dataverse elegant und zuverlässig sicherstellen. Das kaskadierende Löschen ist ein mächtiges Werkzeug – gerade bei komplexen Datenmodellen – und sollte bewusst eingesetzt werden. Mit dieser Anleitung kannst du deine eigenen Modelle sauber und wartbar gestalten.



Kommentare