Avatar ·

Como chamar um método assíncrono a partir de um síncrono em C#?

Olá a todos! Sou um desenvolvedor C# iniciante e me deparei com um problema. Tenho uma aplicação WPF na qual uso Entity Framework para trabalhar com o banco de dados. Quero usar métodos assíncronos, como `ToListAsync()`, `SaveChangesAsync()`, para não bloquear a thread da UI. No entanto, tenho um método síncrono existente que é chamado de uma biblioteca externa (por exemplo, um handler de evento de botão que não suporta async). Dentro desse método, preciso obter dados do banco de dados. Estou tentando chamar o método assíncrono `GetCustomersAsync()` da seguinte forma: ```csharp public async Task> GetCustomersAsync() { using (var db = new MyDbContext()) { return await db.Customers.ToListAsync(); } } public void ButtonClickHandler(object sender, EventArgs e) { // Erro! Não é possível usar await em um método síncrono var customers = await GetCustomersAsync(); } ``` Entendo que não posso simplesmente adicionar `await` em