private static bool CanMergeWith( Navigation existingNavigation, string inverseName, InternalEntityTypeBuilder inverseEntityTypeBuilder) { var fk = existingNavigation.ForeignKey; return (fk.IsSelfReferencing() || fk.ResolveOtherEntityType(existingNavigation.DeclaringEntityType) == inverseEntityTypeBuilder.Metadata) && inverseEntityTypeBuilder.ModelBuilder.Entity(fk.DeclaringEntityType.Name, ConfigurationSource.Convention) .Relationship(fk, ConfigurationSource.Convention) .CanSetNavigation(inverseName, !existingNavigation.IsDependentToPrincipal(), ConfigurationSource.Convention); }