コード例 #1
0
            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));
            }
コード例 #2
0
        /// <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();
        }
コード例 #3
0
 /// <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();
 }
コード例 #4
0
 public DelayedConventionScope(ConventionScope parent, List <ConventionNode>?children = null)
 {
     Parent    = parent;
     _children = children;
 }
コード例 #5
0
 public ConventionScope(ConventionScope parent, List <ConventionNode> children)
 {
     Parent    = parent;
     _children = children ?? new List <ConventionNode>();
 }