Erreur « Un DataReader est déjà ouvert associé à cette commande » dans Entity Framework
Bonjour à tous ! Je suis débutant en C# et Entity Framework. J'écris une application simple pour une boutique en ligne, et je suis tombé sur une erreur très étrange. J'ai une méthode qui récupère la liste des commandes d'un utilisateur et pour chaque commande, affiche les informations sur les produits.
Voici mon code :
```csharp
using (var context = new MyDbContext())
{
var orders = context.Orders.Where(o => o.UserId == userId).ToList();
foreach (var order in orders)
{
Console.WriteLine($"Commande #{order.Id}");
// J'essaie de récupérer les produits pour chaque commande
var products = context.Products
.Where(p => p.OrderId == order.Id)
.ToList();
foreach (var product in products)
{
Console.WriteLine($" - {product.Name}: {product.Price} rub.");
}
}
}
```
Sur la ligne `var products = context.Products...`, j'obtiens l'erreur :
> "There is already an open DataReader associated with this Command which must be closed first."
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
C++ vs Python : que choisir pour le backend en 2024
Déploiement PHP sur Kubernetes : guide pratique étape par étape
De l’idée au leader : pourquoi Swift est devenu le langage n°1 d’Apple
Contribution open source : comment commencer à contribuer aux projets Java