https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding Использование EF Core 2.2.x
Допустим, у меня есть таблица, и одно из полей определено как НЕ допускающее пустые значения, и varchar (160).Когда EF-модель получает поддержку, это поле должно выглядеть следующим образом с использованием аннотаций данных.
[Required]
[StringLength(160)]
public string Title { get; set; }
Хорошо, так что теперь в моем коде я хочу обновить одну запись в этой таблице, однако это поле заголовка в настоящее время не является нулевым, а скорее пустой строкой.Я не могу обновить эту сущность для других полей, пока не предоставлю также строку ненулевой длины для поля Заголовок.Это по замыслу?Я мог бы понять, если бы я создавал новый объект этого типа, но обновление также вступает в силу здесь?
Я думал, что обязательный атрибут будет разрешать пустые строки, но если я явно добавлю свойство (AllowEmptyStrings =правда) работает, так может это по умолчанию?
[ update ]Только что найденный в документации, yep по умолчанию имеет значение false https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.dataannotations.requiredattribute.allowemptystrings?view=netcore-2.2
Для тех, кто находит этот пост, вам также нужно будет использовать [DisplayFormat (ConvertEmptyStringToNull = false)], чтобы предотвратить отправку нулевого значения.