/// <summary>
 /// Register a link builder for a <see cref="IEdmNavigationProperty" /> that navigates from Entities in this navigation source.
 /// </summary>
 public void AddNavigationPropertyLinkBuilder(IEdmNavigationProperty navigationProperty, NavigationLinkBuilder linkBuilder)
 {
     _navigationPropertyLinkBuilderLookup[navigationProperty] = linkBuilder;
 }
        /// <summary>
        /// Sets the navigation property link builder for the given <see cref="IEdmNavigationSource"/> and <see cref="IEdmNavigationProperty"/>.
        /// </summary>
        /// <param name="model">The Edm model.</param>
        /// <param name="navigationSource">The navigation source.</param>
        /// <param name="navigationProperty">The navigation property.</param>
        /// <param name="linkBuilder">The navigation property link builder.</param>
        public static void HasNavigationPropertyLink(this IEdmModel model, IEdmNavigationSource navigationSource,
                                                     IEdmNavigationProperty navigationProperty, NavigationLinkBuilder linkBuilder)
        {
            NavigationSourceLinkBuilderAnnotation annotation = model.GetNavigationSourceLinkBuilder(navigationSource);

            Contract.Assert(annotation != null);
            annotation.AddNavigationPropertyLinkBuilder(navigationProperty, linkBuilder);
        }