EF 6 IsRequired() allowing empty strings

烈酒焚心 提交于 2019-12-04 00:08:39

These days you can still use [Required] attribute and have configurable AllowEmptyStrings

[Required(AllowEmptyStrings = false)]

False is default

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; }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!