這裏是我的查詢與嵌套的foreach:你如何將這些嵌套的foreach中的LINQ
foreach (Order order in xOrders)
{
foreach (OrderItemDetail oid in order.OrderItemDetails)
{
db.Entry(oid).Reload();
}
foreach (Dispatch dispatch in order.Dispatches)
{
foreach (DispatchItemDetail did in dispatch.DispatchItemDetails)
{
db.Entry(did).Reload();
}
db.Entry(dispatch).Reload();
}
db.Entry(order).Reload();
}
現在,我想將其轉換成純LINQ,所以我的錯誤,如枚舉不能安全ATLEAST繼續,因爲集合已更改。
我知道,如果有1分的foreach我可以將其轉換爲LINQ,如:
的foreach查詢:
foreach (Order order in xOrders)
{
db.Entry(order).Reload();
}
LINQ查詢:
xOrders.ToList().ForEach(x => db.Entry(x).Reload());
但我想知道如何你可以這樣做嵌套的foreach,如第一個代碼塊所示......
除了'ToList'不是'LINQ','ForEach'是'名單的方法'。 Linq用於查詢數據,而不是修改數據。 –
對不起,我誤解了這個概念。但是,你能告訴我如何在這種情況下使用ForEach? – Vishal
爲什麼你想要,你原來的方式更清晰。另外,任何LINQ版本都會比較慢,因爲你必須調用'.ToList()'調用的所有額外內存。 –