在实体框架中我应该如何将字符串长度限制为不超过12000个字符

问题描述 投票:0回答:1

我尝试了显而易见的...

[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 个字符的正确方法是什么?!

谢谢

sql-server validation entity-framework-core string-length ef-core-8.0
1个回答
0
投票

从 EF Core 团队获得此信息...

“EF Core 不会为您进行验证。 EF6 有一些验证,但很少使用,并且重复了其他应用程序已经完成的验证。因此,EF 使用字符串长度来创建数据库和高效参数创建,但不会尝试为您验证数据。”

© www.soinside.com 2019 - 2024. All rights reserved.