Asynchroner SpeichervorgangAsynchronous Saving

Mit dem asynchronen Speichervorgang wird vermieden, dass ein Thread blockiert wird, während die Änderungen in die Datenbank geschrieben werden.Asynchronous saving avoids blocking a thread while the changes are written to the database. Dies hilft dabei, das Abstürzen der Benutzeroberfläche einer Thick-Client-Anwendung zu vermeiden.This can be useful to avoid freezing the UI of a thick-client application. Asynchrone Vorgänge können außerdem den Durchsatz in Webanwendungen erhöhen, in denen der Thread für andere Anforderungen freigegeben werden kann, während der Datenbankvorgang abgeschlossen wird.Asynchronous operations can also increase throughput in a web application, where the thread can be freed up to service other requests while the database operation completes. Weitere Informationen finden Sie unter Asynchrone Programmierung in C#.For more information, see Asynchronous Programming in C#.

Warnung

EF Core unterstützt nicht die Ausführung mehrerer paralleler Vorgänge, die auf derselben Kontextinstanz ausgeführt werden.EF Core does not support multiple parallel operations being run on the same context instance. Sie sollten immer auf den Abschluss eines Vorgangs warten, bevor Sie den nächsten starten.You should always wait for an operation to complete before beginning the next operation. In der Regel erfolgt dies für alle asynchronen Vorgänge durch das Schlüsselwort await.This is typically done by using the await keyword on each asynchronous operation.

Entity Framework Core stellt DbContext.SaveChangesAsync() als asynchrone Alternative zu DbContext.SaveChanges() bereit.Entity Framework Core provides DbContext.SaveChangesAsync() as an asynchronous alternative to DbContext.SaveChanges().

public static async Task AddBlogAsync(string url)
{
    using (var context = new BloggingContext())
    {
        var blog = new Blog { Url = url };
        context.Blogs.Add(blog);
        await context.SaveChangesAsync();
    }
}