public static ConfigurationSource?GetValueGeneratorFactoryConfigurationSource([NotNull] this IConventionProperty property) => property.FindAnnotation(CoreAnnotationNames.ValueGeneratorFactory)?.GetConfigurationSource();
public static IConventionProperty?FindFirstPrincipal([NotNull] this IConventionProperty property) => (IConventionProperty?)((IProperty)property).FindFirstPrincipal();
public static Func <IProperty, IEntityType, ValueGenerator>?SetValueGeneratorFactory( [NotNull] this IConventionProperty property, [NotNull] Func <IProperty, IEntityType, ValueGenerator> valueGeneratorFactory, bool fromDataAnnotation = false) => property.AsProperty().SetValueGeneratorFactory( valueGeneratorFactory, fromDataAnnotation ? ConfigurationSource.DataAnnotation : ConfigurationSource.Convention);