internal NavigationPropertyConfiguration(PropertyInfo navigationProperty) { DebugCheck.NotNull(navigationProperty); Debug.Assert(navigationProperty.IsValidEdmNavigationProperty()); _navigationProperty = navigationProperty; }
// Not using the public API to avoid configuring the property as a navigation property if it wasn't one before internal override void ApplyPropertyConfiguration( PropertyInfo propertyInfo, Func<PropertyConfiguration> propertyConfiguration, ModelConfiguration modelConfiguration) { DebugCheck.NotNull(propertyInfo); DebugCheck.NotNull(propertyConfiguration); DebugCheck.NotNull(modelConfiguration); if (propertyInfo.IsValidEdmNavigationProperty() && !propertyInfo.PropertyType.IsCollection() && _attributeProvider.GetAttributes(propertyInfo).OfType<RequiredAttribute>().Any()) { var navigationPropertyConfiguration = (NavigationPropertyConfiguration)propertyConfiguration(); if (navigationPropertyConfiguration.RelationshipMultiplicity == null) { navigationPropertyConfiguration.RelationshipMultiplicity = (RelationshipMultiplicity.One); } } }