如何在模型类属性中分配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)