2 instantiations of JoinEdge
System.Data.Entity (2)
System\Data\Query\PlanCompiler\JoinGraph.cs (2)
437JoinEdge joinEdge = new JoinEdge(left, right, joinNode, joinKind, leftVars, rightVars); 453JoinEdge joinEdge = new JoinEdge(left, right, null, joinKind, leftVars, rightVars);
63 references to JoinEdge
System.Data.Entity (63)
System\Data\Query\PlanCompiler\JoinGraph.cs (63)
89private readonly List<JoinEdge> m_joinEdges = new List<JoinEdge>(); 153internal List<JoinEdge> JoinEdges 422internal static JoinEdge CreateJoinEdge(AugmentedTableNode left, AugmentedTableNode right, 437JoinEdge joinEdge = new JoinEdge(left, right, joinNode, joinKind, leftVars, rightVars); 450internal static JoinEdge CreateTransitiveJoinEdge(AugmentedTableNode left, AugmentedTableNode right, JoinKind joinKind, 453JoinEdge joinEdge = new JoinEdge(left, right, null, joinKind, leftVars, rightVars); 785foreach (JoinEdge joinEdge in leftTableNode.JoinEdges) 795JoinEdge newJoinEdge = JoinEdge.CreateJoinEdge(leftTableNode, rightTableNode, joinNode, leftVar, rightVar); 992private bool GenerateTransitiveEdge(JoinEdge edge1, JoinEdge edge2) 1024foreach (JoinEdge edge3 in edge1.Left.JoinEdges) 1075JoinEdge newEdge = JoinEdge.CreateTransitiveJoinEdge(edge1.Left, edge2.Right, edge1.JoinKind, 1080JoinEdge reverseEdge = JoinEdge.CreateTransitiveJoinEdge(edge2.Right, edge1.Left, edge1.JoinKind, 1142List<JoinEdge> newJoinEdges = new List<JoinEdge>(augmentedJoinNode.JoinEdges.Count); 1143foreach (JoinEdge joinEdge in augmentedJoinNode.JoinEdges) 1149JoinEdge newJoinEdge = JoinEdge.CreateJoinEdge(joinEdge.Right, joinEdge.Left, augmentedJoinNode, joinEdge.RightVars[0], joinEdge.LeftVars[0]); 1201private bool ContainsJoinEdgeForTable(IEnumerable<JoinEdge> joinEdges, Table table) 1203foreach (JoinEdge joinEdge in joinEdges) 1221private bool CanAllJoinEdgesBeTurnedIntoInnerJoins(AugmentedNode rightNode, IEnumerable<JoinEdge> joinEdges) 1223foreach (JoinEdge joinEdge in joinEdges) 1245private bool CanJoinEdgeBeTurnedIntoInnerJoin(AugmentedNode rightNode, JoinEdge joinEdge) 1263private bool IsConstraintPresentForTurningIntoInnerJoin(JoinEdge joinEdge) 1307JoinEdge e1 = tableNode.JoinEdges[i]; 1312JoinEdge e2 = rightTable.JoinEdges[j]; 1366private static bool CanBeEliminatedViaStarJoinBasedOnOtherJoinParticipation(JoinEdge tableJoinEdge, JoinEdge replacingTableJoinEdge) 1390private static bool CanGetFileredByJoins(JoinEdge joinEdge, AugmentedNode leastCommonAncestor, bool disallowAnyJoin) 1614private void EliminateStarSelfJoin(List<JoinEdge> joinEdges) 1616List<List<JoinEdge>> compatibleGroups = new List<List<JoinEdge>>(); 1618foreach (JoinEdge joinEdge in joinEdges) 1622foreach (List<JoinEdge> joinEdgeList in compatibleGroups) 1636List<JoinEdge> newList = new List<JoinEdge>(); 1642foreach (List<JoinEdge> joinList in compatibleGroups.Where(l => l.Count > 1)) 1645JoinEdge smallestEdge = joinList[0]; 1646foreach (JoinEdge joinEdge in joinList) 1655foreach (JoinEdge joinEdge in joinList) 1677private bool AreMatchingForStarSelfJoinElimination(JoinEdge edge1, JoinEdge edge2) 1711private bool QualifiesForStarSelfJoinGroup(JoinEdge joinEdge) 1743Dictionary<md.EntitySetBase, List<JoinEdge>> groupedEdges = new Dictionary<md.EntitySetBase, List<JoinEdge>>(); 1744foreach (JoinEdge joinEdge in tableNode.JoinEdges) 1752List<JoinEdge> edges; 1755edges = new List<JoinEdge>(); 1763foreach (KeyValuePair<md.EntitySetBase, List<JoinEdge>> kv in groupedEdges) 1780private bool EliminateSelfJoin(JoinEdge joinEdge) 1849foreach (JoinEdge joinEdge in tableNode.JoinEdges) 1904private void EliminateLeftTable(JoinEdge joinEdge) 1933private void EliminateRightTable(JoinEdge joinEdge) 1957private bool RightTableHasKeyReferences(JoinEdge joinEdge) 1998private bool TryEliminateParentChildJoin(JoinEdge joinEdge, ForeignKeyConstraint fkConstraint) 2136private bool TryEliminateChildParentJoin(JoinEdge joinEdge, ForeignKeyConstraint fkConstraint) 2171private bool TryEliminateRightTable(JoinEdge joinEdge, int fkConstraintKeyCount, bool allowRefsForJoinedOnFkOnly) 2198private void EliminateParentChildJoin(JoinEdge joinEdge) 2246foreach (JoinEdge joinEdge in tableNode.JoinEdges)