我只想知道是否有任何已知问题,或者如果我做错了什么。每次我按照下面的示例进行操作时,出现错误“服务器无法恢复交易”。IQueryable + foreach中的错误
我已经问了一下这个错误的另一个问题,但现在我已经想通了,它只会出现在foreach
循环
//Listing orders
IQueryable<Order> ordersList = ListOrders();
foreach (Order order in ordersList)
{
if (order.Client_Id != null) //get the exception here.
{
//some code
}
}
更新:为ListOrders()
public IQueryable<Order> ListOrders()
{
try
{
return from o in db.Orders
where o.Id == this.Id
select o;
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
代码
你能告诉什么ListOrders()是干什么的?听起来像IQueryable接口没有正确实施。 (我知道IQueryable的问题 - 为了“foreach”工作,您需要IQueryable提供/需要的IEnumerable)。 –
Les
2010-10-22 14:06:36
它是..你能说更多关于需要IEnumerable的IQueryable吗? – 2010-10-22 14:23:03
你可以显示datacontext('db')的来源?它是用'using'包裹在'foreach'循环中吗? – 2010-10-22 14:34:20