Entity Framework 中的“已打开与此命令关联的 DataReader”错误
大家好!我是 C# 和 Entity Framework 的新手。我正在编写一个简单的在线商店应用程序,遇到了一个非常奇怪的错误。我有一个方法可以获取用户的订单列表,并为每个订单输出商品信息。
这是我的代码:
```csharp
using (var context = new MyDbContext())
{
var orders = context.Orders.Where(o => o.UserId == userId).ToList();
foreach (var order in orders)
{
Console.WriteLine($"订单 #{order.Id}");
// 尝试获取每个订单的商品
var products = context.Products
.Where(p => p.OrderId == order.Id)
.ToList();
foreach (var product in products)
{
Console.WriteLine($" - {product.Name}: {product.Price} 卢布");
}
}
}
```
在 `var products = context.Products...` 这一行,我遇到了错误:
> “已存在与此命令关联的打开的 DataReader,必须关闭它”