Zaman Uyumsuz SorgularAsynchronous Queries

Eşiş sorguları veritabanında yürütülürken iş parçacığı engellemekaçının.Asynchronous queries avoid blocking a thread while the query is executed in the database. Async sorguları kalın istemci uygulamalarında duyarlı bir Kullanıcı Arabirimi tutmak için önemlidir.Async queries are important for keeping a responsive UI in thick-client applications. Ayrıca, web uygulamalarındaki diğer isteklere hizmet vermek için iş parçacığı serbest web uygulamalarında iş parçacığı artırabilir.They can also increase throughput in web applications where they free up the thread to service other requests in web applications. Daha fazla bilgi için C# içinde Asynchronous Programming 'ebakın.For more information, see Asynchronous Programming in C#.

Uyarı

EF Core, aynı bağlam örneğinde çalıştırılan birden çok paralel işlemi desteklemez.EF Core doesn't support multiple parallel operations being run on the same context instance. Her zaman bir sonraki işlem başlamadan önce tamamlanması için bir işlem için beklemeniz gerekir.You should always wait for an operation to complete before beginning the next operation. Bu genellikle her async await işleminde anahtar kelime kullanılarak yapılır.This is typically done by using the await keyword on each async operation.

Entity Framework Core, bir sorgu ve return sonuçları yürütmek LINQ yöntemlerine benzer bir async uzantı yöntemleri kümesi sağlar.Entity Framework Core provides a set of async extension methods similar to the LINQ methods, which execute a query and return results. Örnekler ToListAsync()arasında ToArrayAsync() SingleAsync(), , .Examples include ToListAsync(), ToArrayAsync(), SingleAsync(). Bazı LINQ işleçlerinin yalnızca LINQ Where(...) OrderBy(...) ifade ağacını oluşturması ve sorgunun veritabanında yürütülmesine neden olmaması gibi async sürümleri yoktur.There are no async versions of some LINQ operators such as Where(...) or OrderBy(...) because these methods only build up the LINQ expression tree and don't cause the query to be executed in the database.

Önemli

EF Core async uzantı yöntemleri Microsoft.EntityFrameworkCore ad alanında tanımlanır.The EF Core async extension methods are defined in the Microsoft.EntityFrameworkCore namespace. Bu ad alanı, kullanılabilir yöntemler için içe aktarılmalıdır.This namespace must be imported for the methods to be available.

public async Task<List<Blog>> GetBlogsAsync()
{
    using (var context = new BloggingContext())
    {
        return await context.Blogs.ToListAsync();
    }
}