public IBindableModelBuilder WithOptionalDependency(INavigatableElementBuilder navigatableElementBuilder, IStructuralProperty dependency) { var declaration = new DependencyDeclaration(dependency, true); this.dependencies.Add(new KeyValuePair <INavigatableElementBuilder, DependencyDeclaration>(navigatableElementBuilder, declaration)); return(this); }
private static DependencyDeclaration TranslateDependency(DependencyDeclaration declaration) { var navigationPropertyBuilder = declaration.DependableElement as INavigationPropertyBuilder; if (navigationPropertyBuilder != null) { return(new DependencyDeclaration(navigationPropertyBuilder.BuiltNavigationProperty, declaration.IsOptional)); } return(declaration); }