ParallelitätstokenConcurrency Tokens

Hinweis

Auf dieser Seite wird das Konfigurieren von Parallelitäts Token dokumentiert.This page documents how to configure concurrency tokens. Eine ausführliche Erläuterung der Funktionsweise der Parallelitäts Steuerung in EF Core und Beispielen zur Behandlung von Parallelitäts Konflikten in der Anwendung finden Sie unter Behandeln von Parallelitäts Konflikten .See Handling Concurrency Conflicts for a detailed explanation of how concurrency control works on EF Core and examples of how to handle concurrency conflicts in your application.

Als Parallelitäts Token konfigurierte Eigenschaften werden verwendet, um die Steuerung der vollständigen Parallelität zu implementieren.Properties configured as concurrency tokens are used to implement optimistic concurrency control.

KonfigurationConfiguration

public class Person
{
    public int PersonId { get; set; }

    [ConcurrencyCheck]
    public string LastName { get; set; }

    public string FirstName { get; set; }
}

Timestamp/rowversionTimestamp/rowversion

Ein Timestamp/rowversion-Objekt ist eine Eigenschaft, für die ein neuer Wert automatisch von der Datenbank generiert wird, wenn eine Zeile eingefügt oder aktualisiert wird.A timestamp/rowversion is a property for which a new value is automatically generated by the database every time a row is inserted or updated. Die-Eigenschaft wird auch als Parallelitäts Token behandelt, um sicherzustellen, dass Sie eine Ausnahme erhalten, wenn sich eine Zeile, die Sie aktualisieren, geändert hat, seit Sie Sie abgefragt haben.The property is also treated as a concurrency token, ensuring that you get an exception if a row you are updating has changed since you queried it. Die genauen Details hängen vom verwendeten Datenbankanbieter ab. für SQL Server wird normalerweise eine Byte [] -Eigenschaft verwendet, die als rowversion -Spalte in der Datenbank eingerichtet wird.The precise details depend on the database provider being used; for SQL Server, a byte[] property is usually used, which will be set up as a ROWVERSION column in the database.

Sie können eine Eigenschaft wie folgt als timestamp/rowversion konfigurieren:You can configure a property to be a timestamp/rowversion as follows:

public class Blog
{
    public int BlogId { get; set; }

    public string Url { get; set; }

    [Timestamp]
    public byte[] Timestamp { get; set; }
}