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));