指定max length属性以匹配varchar(max)

frc*_*frc 11 c# asp.net-mvc entity-framework

我有一个这样的模型:

public int Id { get; set; }

[Required]
[StringLength(50, MinimumLength = 3)]
public string Title { get; set; }

[Required]
[StringLength(50, MinimumLength = 3)]
public string Slug { get; set; }

[Required]
[StringLength(100, MinimumLength = 3)]
public string Body { get; set; }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的Body,我设置了100的限制,但在数据库中这个列是varchar(max).我可以把长度与柱子相匹配的是varchar(max)什么?

Iva*_*oev 10

您有两种选择:

(1)int.MaxLength用作构造函数的maximumLength参数StringLengthAttribute:

[Required]
[StringLength(int.MaxValue, MinimumLength = 3)]
public string Body { get; set; }
Run Code Online (Sandbox Code Playgroud)

(2)另外用MaxLengthAttributew/o参数装饰属性(StringLengthAttribute将忽略的值):

[Required]
[StringLength(100, MinimumLength = 3)]
[MaxLength]
public string Body { get; set; }
Run Code Online (Sandbox Code Playgroud)