In past projects with versions of EF5 and EF4, the IsRequired() fluent API method would thrown a DbEntityValidationException if the property was null or an empty string. In my
You may be confusing the StringColumnConfiguration.IsRequired Method and RequiredAttribute.
.IsRequired()
marks that column in the database is NOT NULL
. The [Required]
annotation however, will raised a validation exception if the property is null, contains an empty string (""), or contains only white-space characters.
EF Core 2.1 here - looks like marking a property as required using [Required] and saving it to the DB with empty string value, let's it go through... very strange.
Documentation states the following:
//
// Summary:
// Gets or sets a value that indicates whether an empty string is allowed.
//
// Returns:
// true if an empty string is allowed; otherwise, false. The default value is false.
public bool AllowEmptyStrings { get; set; }
These days you can still use [Required]
attribute and have configurable AllowEmptyStrings
[Required(AllowEmptyStrings = false)]
False is default