我尝试了显而易见的...
[StringLength(12000)]
public string Instructions { get; set; }
...(也尝试过 MaxLength),但是当我运行
add-migration
时,我得到空的 Up() 和 Down() 方法。添加迁移的唯一影响是在快照文件中......
...
b.Property<string>("Instructions")
.HasMaxLength(12000)
.HasColumnType("nvarchar(max)")
...
...添加了
.HasMaxLength(12000)
- 就是这样,它没有任何效果 - 我可以保存超过 12000 个字符的值。
那么验证/限制此属性不超过 12000 个字符的正确方法是什么?!
谢谢
从 EF Core 团队获得此信息...
“EF Core 不会为您进行验证。 EF6 有一些验证,但很少使用,并且重复了其他应用程序已经完成的验证。因此,EF 使用字符串长度来创建数据库和高效参数创建,但不会尝试为您验证数据。”