Comment appeler une méthode asynchrone depuis une méthode synchrone en C# ?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème. J'ai une application WPF dans laquelle j'utilise Entity Framework pour travailler avec la base de données. Je veux utiliser des méthodes asynchrones, comme `ToListAsync()`, `SaveChangesAsync()`, pour ne pas bloquer le thread UI.
Cependant, j'ai une méthode synchrone existante qui est appelée depuis une bibliothèque externe (par exemple, un gestionnaire d'événement de bouton qui ne supporte pas async). À l'intérieur de cette méthode, j'ai besoin d'obtenir des données de la base de données. J'essaie d'appeler la méthode asynchrone `GetCustomersAsync()` de la manière suivante :
```csharp
public async Task
- > GetCustomersAsync()
{
using (var db = new MyDbContext())
{
return await db.Customers.ToListAsync();
}
}
public void ButtonClickHandler(object sender, EventArgs e)
{
// Erreur ! On ne peut pas utiliser await dans une méthode synchrone
var customers = await GetCustomersAsync();
}
```
Je comprends qu'on ne peut pas simplement ajouter `await` dans