Как преобразовать приведенные ниже 2 вложенных цикла foreach в запрос LINQ? Выполнение этого цикла, содержащего около 610 элементов, занимает около 10 секунд. Кроме того, есть ли какие-либо обновления для строк кода ниже, которые можно изменить, чтобы производительность и можно было немного улучшить, а время выполнения можно было сократить?
Код:
foreach(var map in infoMap)
{
var testItem = map.TestItem;
var testInViews = TestviewMaps;
var testWorkbenchItem = map.TestWorkbenchItem;
string TestLinkType = string.Empty;
WorkItemLinkCollection testLinkedWorkItems = testItem.WorkItemLinkHistory;
if (linkedWorkItems != null && linkedWorkItems.Count > 0)
TestLinkType = linkedWorkItems[0].LinkTypeEnd.LinkType.ReferenceName;
else if (testItem != null)
TestLinkType = testItem.Store.WorkItemLinkTypes.LinkTypeEnds["Parent"].LinkType.ReferenceName;
foreach (var testViewMap in testInViews)
{
if (!string.IsNullOrEmpty(TestLinkType))
{
var testLinkName = TestLinkType;
var testChildType = testViewMap.ChildType;
ITestLinkItem testItm = Factory.BuildLinkItem(testLinkName,testWorkbenchItem,testWorkbenchItem);
lock (TestAddparents)
{
TestAddparents.Add(testItm);
}
break;
}
}
}