Example #1
0
        /// <summary>
        ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
        ///     directly from your code. This API may change or be removed in future releases.
        /// </summary>
        public override InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder, RequiredAttribute attribute, PropertyInfo clrProperty)
        {
            Check.NotNull(propertyBuilder, nameof(propertyBuilder));
            Check.NotNull(attribute, nameof(attribute));

            propertyBuilder.IsRequired(true, ConfigurationSource.DataAnnotation);

            return(propertyBuilder);
        }
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 virtual InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder)
        {
            // If the model is spread across multiple assemblies, it may contain different NullableAttribute types as
            // the compiler synthesizes them for each assembly.
            if (propertyBuilder.Metadata.GetIdentifyingMemberInfo() is MemberInfo memberInfo &&
                IsNonNullable(memberInfo))
            {
                propertyBuilder.IsRequired(true, ConfigurationSource.Convention);
            }

            return(propertyBuilder);
        }
Example #3
0
 public InternalPropertyBuilder Apply(InternalPropertyBuilder propertyBuilder)
 {
     propertyBuilder.IsRequired(true, ConfigurationSource.Convention);
     return(propertyBuilder);
 }