public static ConventionAnnotation?SetOrRemoveAnnotation(
            [NotNull] this ConventionAnnotatable annotatable,
            [NotNull] string name,
            [CanBeNull] object?value,
            ConfigurationSource configurationSource)
        {
            if (value == null)
            {
                annotatable.RemoveAnnotation(name);
                return(null);
            }

            return(annotatable.SetAnnotation(name, value, configurationSource));
        }
Example #2
0
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 public static void SetOrRemoveAnnotation(
     [NotNull] this ConventionAnnotatable annotatable,
     [NotNull] string name,
     [CanBeNull] object value,
     ConfigurationSource configurationSource)
 {
     if (value == null)
     {
         annotatable.RemoveAnnotation(name);
     }
     else
     {
         annotatable.SetAnnotation(name, value, configurationSource);
     }
 }
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 public virtual void MergeAnnotationsFrom(
     [NotNull] ConventionAnnotatable annotatable,
     ConfigurationSource minimalConfigurationSource)
 {
     foreach (var annotation in annotatable.GetAnnotations())
     {
         var configurationSource = annotation.GetConfigurationSource();
         if (configurationSource.Overrides(minimalConfigurationSource))
         {
             HasAnnotation(
                 annotation.Name,
                 annotation.Value,
                 configurationSource,
                 canOverrideSameSource: false);
         }
     }
 }
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 protected InternalAnnotatableBuilder([NotNull] ConventionAnnotatable metadata)
 {
     Metadata = metadata;
 }
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 public virtual void MergeAnnotationsFrom([NotNull] ConventionAnnotatable annotatable)
 => MergeAnnotationsFrom(annotatable, ConfigurationSource.Explicit);