diff --git a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/Contracts/ExecutionGraphComparisonResult.cs b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/Contracts/ExecutionGraphComparisonResult.cs
index 57a54d62..3b947acd 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/Contracts/ExecutionGraphComparisonResult.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/Contracts/ExecutionGraphComparisonResult.cs
@@ -34,7 +34,7 @@ namespace Microsoft.SqlTools.ServiceLayer.ExecutionPlan.Contracts
///
/// List of matching nodes for the ExecutionGraphComparisonResult.
///
- public List MatchingNodes { get; set; } = new List();
+ public List MatchingNodesId { get; set; } = new List();
///
/// The parent of the ExecutionGraphComparisonResult.
///
diff --git a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ExecutionPlanGraphUtils.cs b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ExecutionPlanGraphUtils.cs
index 56271d77..e11f2da3 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ExecutionPlanGraphUtils.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ExecutionPlanGraphUtils.cs
@@ -197,12 +197,10 @@ GO
{
var curNode = queue.Dequeue();
- for (int index = 0; index < curNode.MatchingNodes.Count; ++index)
+ for (int index = 0; index < curNode.MatchingNodesId.Count; ++index)
{
- var matchingId = curNode.MatchingNodes[index].BaseNode.ID;
- var matchingNode = srcGraphLookupTable[matchingId];
-
- curNode.MatchingNodes[index] = matchingNode;
+ var matchingId = curNode.MatchingNodesId[index];
+ curNode.MatchingNodesId[index] = matchingId;
}
foreach (var child in curNode.Children)
diff --git a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ShowPlan/Comparison/SkeletonNode.cs b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ShowPlan/Comparison/SkeletonNode.cs
index 7d8a7850..9fd38a18 100644
--- a/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ShowPlan/Comparison/SkeletonNode.cs
+++ b/src/Microsoft.SqlTools.ServiceLayer/ExecutionPlan/ShowPlan/Comparison/SkeletonNode.cs
@@ -99,12 +99,9 @@ namespace Microsoft.SqlTools.ServiceLayer.ExecutionPlan.ShowPlan.Comparison
curNodeDTO.BaseNode = ExecutionPlanGraphUtils.ConvertShowPlanTreeToExecutionPlanTree(curNode.BaseNode);
curNodeDTO.GroupIndex = curNode.GroupIndex;
curNodeDTO.HasMatch = curNode.HasMatch;
- curNodeDTO.MatchingNodes = curNode.MatchingNodes.Select(matchingNode =>
+ curNodeDTO.MatchingNodesId = curNode.MatchingNodes.Select(matchingNode =>
{
- var skeletonNodeDTO = new Contracts.ExecutionGraphComparisonResult();
- skeletonNodeDTO.BaseNode = ExecutionPlanGraphUtils.ConvertShowPlanTreeToExecutionPlanTree(matchingNode.BaseNode);
-
- return skeletonNodeDTO;
+ return matchingNode.BaseNode.ID;
}).ToList();
foreach (var child in curNode.Children)
@@ -112,7 +109,6 @@ namespace Microsoft.SqlTools.ServiceLayer.ExecutionPlan.ShowPlan.Comparison
queue.Enqueue(child);
var childDTO = new Contracts.ExecutionGraphComparisonResult();
- childDTO.ParentNode = curNodeDTO;
curNodeDTO.Children.Add(childDTO);
dtoQueue.Enqueue(childDTO);
}