public virtual ConventionScope VisitConventionScope(ConventionScope node) { if (node.Children == null) { return(null); } List <ConventionNode> visitedNodes = null; foreach (var conventionNode in node.Children) { var visitedNode = Visit(conventionNode); if (visitedNode == null) { continue; } if (visitedNodes == null) { visitedNodes = new List <ConventionNode>(); } visitedNodes.Add(visitedNode); } return((visitedNodes?.Count ?? 0) == 0 ? null : new ConventionScope(node.Parent, visitedNodes)); }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public ConventionDispatcher([NotNull] ConventionSet conventionSet) { Check.NotNull(conventionSet, nameof(conventionSet)); _immediateConventionScope = new ImmediateConventionScope(conventionSet); _scope = _immediateConventionScope; Tracker = new MetadataTracker(); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public ConventionDispatcher([NotNull] ConventionSet conventionSet) { _immediateConventionScope = new ImmediateConventionScope(conventionSet, this); _scope = _immediateConventionScope; Tracker = new MetadataTracker(); }
public DelayedConventionScope(ConventionScope parent, List <ConventionNode>?children = null) { Parent = parent; _children = children; }
public ConventionScope(ConventionScope parent, List <ConventionNode> children) { Parent = parent; _children = children ?? new List <ConventionNode>(); }