Вот мой запрос с вложенным Еогеаспом:Как преобразовать этот вложенный Еогеасп в 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, так что я безопаснее по крайней мере за такие ошибки, как Перечисления не может продолжайте, потому что коллекция была изменена.
Я знаю, если есть 1 Еогеасп я могу преобразовать его в LINQ, как:
Еогеасп запрос:
foreach (Order order in xOrders)
{
db.Entry(order).Reload();
}
LINQ запрос:
xOrders.ToList().ForEach(x => db.Entry(x).Reload());
Но я хочу знать, как вы можете сделать это для Nested foreach, как показано в первом блоке кода ....
Другого, чем 'ToList', который не является' LINQ', 'ForEach' является методом на' 'Списка. Linq предназначен для запроса данных, а не для изменения данных. –
Извините, я неправильно понял концепцию. Но не могли бы вы рассказать мне, как я могу использовать ForEach в этом случае? – Vishal
Зачем вам это нужно, так, как вы это делали, более ясно. Кроме того, любая версия LINQ будет медленнее из-за всей дополнительной памяти, используемой вызовами '.ToList()', которые вам нужно будет сделать. –