Salvar assíncronaAsynchronous Saving

Salvar assíncrona evita o bloqueio de um thread enquanto as alterações são gravadas no banco de dados.Asynchronous saving avoids blocking a thread while the changes are written to the database. Isso pode ser útil para evitar o congelamento de interface do usuário de um aplicativo cliente grossa.This can be useful to avoid freezing the UI of a thick-client application. Operações assíncronas também pode aumentar a taxa de transferência em um aplicativo web, em que o thread pode ser liberado para atender a outras solicitações enquanto a operação de banco de dados é concluída.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. Para obter mais informações, consulte programação assíncrona em c#.For more information, see Asynchronous Programming in C#.

Aviso

Núcleo EF não oferece suporte a várias operações simultâneas que estão sendo executadas na mesma instância do contexto.EF Core does not support multiple parallel operations being run on the same context instance. Você sempre deve esperar para uma operação seja concluída antes de iniciar a próxima operação.You should always wait for an operation to complete before beginning the next operation. Isso geralmente é feito usando o await palavra-chave em cada operação assíncrona.This is typically done by using the await keyword on each asynchronous operation.

Entity Framework Core fornece DbContext.SaveChangesAsync() como uma alternativa assíncrona para 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();
    }
}