Inhaltsverzeichnis:

Unterstützt Entity Framework pessimistisches Sperren?
Unterstützt Entity Framework pessimistisches Sperren?

Video: Unterstützt Entity Framework pessimistisches Sperren?

Video: Unterstützt Entity Framework pessimistisches Sperren?
Video: Entity Framework Core 3.0/3.1 | Christian Giesswein 2024, Kann
Anonim

Die andere Alternative ist zu optimistisch greifen verriegeln . Das Dokument besagt, dass EF tut kein eingebautes pessimistisch Gleichzeitigkeit Unterstützung . Aber dieses tut nicht du kann nicht haben pessimistische Sperre mit EF. Also DU KANN VERFÜGEN ÜBER PESSIMISTISCHE VERRIEGELUNG MIT EF!

Außerdem, wie behält Entity Framework die Parallelität bei?

Entitäts-Framework unterstützt optimistisch Gleichzeitigkeit standardmäßig. EF spart ein juristische Person Daten in die Datenbank, vorausgesetzt, die gleichen Daten wurden seit dem juristische Person war geladen. Wenn festgestellt wird, dass sich die Daten geändert haben, wird eine Ausnahme ausgelöst, und Sie müssen den Konflikt lösen, bevor Sie erneut versuchen, die Daten zu speichern.

Was ist außerdem der Client Wins- und Store Wins-Modus in Entity Framework-Parallelität? In Laden gewinnt / Datenbank Gewinnt die Daten vom Server werden in Ihr geladen juristische Person Objekte. Kunde gewinnt ist das Gegenteil von gespeicherte Gewinne , Daten aus dem juristische Person Objekt wird in der Datenbank gespeichert. Wir müssen die „Refresh“-Methode des verwenden Entity-Framework Kontext und wir müssen dafür die Aufzählung „RefreshMode“verwenden.

Wie behandelt Entity Framework hierin Parallelitätskonflikte?

Der allgemeine Ansatz zur Behandlung von Parallelitätskonflikten ist:

  1. Catch DbUpdateConcurrencyException während SaveChanges.
  2. Verwenden Sie DbUpdateConcurrencyException.
  3. Aktualisieren Sie die ursprünglichen Werte des Parallelitätstokens, um die aktuellen Werte in der Datenbank widerzuspiegeln.
  4. Wiederholen Sie den Vorgang, bis keine Konflikte auftreten.

Wie handhabt die Web-API die Parallelität?

Wie man Umgang mit Parallelität in ASP. NET Core Web-API . Erstellen Sie ein leeres Projekt und aktualisieren Sie die Startup-Klasse, um Dienste und Middleware für MVC hinzuzufügen. Fügen Sie einen Controller mit GET und PUT hinzu, um dies zu demonstrieren Gleichzeitigkeit . Senden Sie eine GET-Anfrage und beobachten Sie den ETag-Header (mit Postman).

Empfohlen: