Fehler „Es ist bereits ein DataReader geöffnet, der mit diesem Befehl verbunden ist“ in Entity Framework
Hallo zusammen! Ich bin neu in C# und Entity Framework. Ich schreibe eine einfache Anwendung für einen Online-Shop und bin auf einen sehr seltsamen Fehler gestoßen. Ich habe eine Methode, die eine Liste der Bestellungen eines Benutzers abruft und für jede Bestellung die Produktinformationen ausgibt.
Hier ist mein Code:
```csharp
using (var context = new MyDbContext())
{
var orders = context.Orders.Where(o => o.UserId == userId).ToList();
foreach (var order in orders)
{
Console.WriteLine($"Bestellung #{order.Id}");
// Versuche, die Produkte für jede Bestellung abzurufen
var products = context.Products
.Where(p => p.OrderId == order.Id)
.ToList();
foreach (var product in products)
{
Console.WriteLine($" - {product.Name}: {product.Price} Rub.");
}
}
}
```
In der Zeile `var products = context.Products...` erhalte ich den Fehler:
> „Es ist bereits ein DataReader geöffnet, der mit diesem Befehl verbunden ist, der geschlossen werden muss.“