Zapisywanie asynchroniczneAsynchronous Saving

Zapisywanie asynchroniczne unika blokuje wątku, a zmiany są zapisywane w bazie danych.Asynchronous saving avoids blocking a thread while the changes are written to the database. Może to być przydatne w celu uniknięcia zawiesza się interfejs użytkownika aplikacji klienckiej grubości.This can be useful to avoid freezing the UI of a thick-client application. Operacje asynchroniczne także może zwiększyć przepływność w aplikacji sieci web, w którym wątku można zwolnić, do obsługi innych żądań podczas kończenia operacji bazy danych.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. Aby uzyskać więcej informacji, zobacz asynchronicznego programowania w języku C#.For more information, see Asynchronous Programming in C#.

Ostrzeżenie

EF Core nie obsługuje wielu operacji równoległych, które są uruchamiane na tym samym wystąpieniu kontekstu.EF Core does not support multiple parallel operations being run on the same context instance. Należy zawsze poczekaj na zakończenie operacji przed rozpoczęciem następnej operacji.You should always wait for an operation to complete before beginning the next operation. Zazwyczaj jest to wykonywane przy użyciu await słowo kluczowe w każdej operacji asynchronicznej.This is typically done by using the await keyword on each asynchronous operation.

Udostępnia platformy Entity Framework Core DbContext.SaveChangesAsync() asynchronicznego zamiast 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();
    }
}