public static IEnumerable <IReadOnlyEntityType> GetDerivedTypesInclusive([NotNull] this IReadOnlyEntityType entityType) => new[] { entityType }.Concat(entityType.GetDerivedTypes());
public static IEnumerable <IReadOnlyNavigation> FindDerivedNavigations( [NotNull] this IReadOnlyEntityType entityType, [NotNull] string navigationName) => entityType.GetDerivedTypes().SelectMany( et => et.GetDeclaredNavigations().Where(navigation => navigationName == navigation.Name));