Asynchrone speichernAsynchronous Saving

Asynchrone speichern vermeidet einen Thread blockiert, während die Änderungen in die Datenbank geschrieben werden.Asynchronous saving avoids blocking a thread while the changes are written to the database. Dies kann nützlich, um zu vermeiden, fixieren die Benutzeroberfläche einer Anwendung dick-Client sein.This can be useful to avoid freezing the UI of a thick-client application. Asynchrone Vorgänge können auch in einer Web-Anwendung Durchsatz zu erhöhen, in dem der Thread freigegeben werden kann, um andere Anforderungen zu verarbeiten, während die 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 mehrere parallele Vorgänge, die auf dieselbe Kontextinstanz ausgeführt werden.EF Core does not support multiple parallel operations being run on the same context instance. Sie sollten immer vor dem nächsten Vorgang Abschluss eines Vorgangs zu warten.You should always wait for an operation to complete before beginning the next operation. Dies erfolgt in der Regel mithilfe der await Schlüsselwort bei jedem asynchronen Vorgang.This is typically done by using the await keyword on each asynchronous operation.

Entity Framework Core bietet DbContext.SaveChangesAsync() als Alternative zur asynchronen DbContext.SaveChanges().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();
    }
}