模型类属性字符串长度为nvarchar最大值



如何在模型类属性中分配ms-sql服务器数据类型nvarchar max长度。假设我有一个属性,StudentName

[Required]
[MinLength(5)]
[MaxLength(200)]
public string StudentName { get; set; }

如何将StudentName数据类型设置为nvarchar max?

如果不想限制字符串MaxLength (200)的值,为什么要使用MaxLength?您只需要删除MaxLength(200)即可将您的模型更改为nvarchar max

如果只想在控制器和视图上使用200个字符的限制,最好使用ViewModel

有一个Column()属性,您可以使用它来指定确切的SQL Server数据类型。例如:

[MaxLength(200)]
[Column(TypeName="nvarchar(max)")]
public string StudentName { get; set; }

注意:MaxLength属性将被Column属性覆盖,但在模型绑定中,StudentName将由其MaxLength属性验证。

如果您愿意,您可以使用Fluent API以这种方式实现这一点:

builder.Property(x => x.StudentName)
.HasMaxLength(200)
.HasColumnType("nvarchar(max)")
.IsRequired();

顺便说一句,用MaxLength过滤用户输入是不现实的,但在数据库中设置字段类型nvarchar(max)

相关内容

  • 没有找到相关文章

最新更新