我有一个这样的模型:
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; }
正如您在Body
中看到的那样,我将限制设置为100,但在数据库中,此列为varchar(max)
。我可以提供什么样的长度来匹配专栏varchar(max)
?
答案 0 :(得分:8)
您有两种选择:
(1)使用int.MaxLength
作为maximumLength
构造函数的StringLengthAttribute
参数:
[Required]
[StringLength(int.MaxValue, MinimumLength = 3)]
public string Body { get; set; }
(2)另外用MaxLengthAttribute
w / o参数装饰属性(StringLengthAttribute
的值将被忽略):
[Required]
[StringLength(100, MinimumLength = 3)]
[MaxLength]
public string Body { get; set; }
答案 1 :(得分:2)
您可以使用DataAnnotations.Schema。我正在使用以下varchar(max)
[Column(TypeName =“varchar(MAX)”)] [的MaxLength]
答案 2 :(得分:1)
VARCHAR(MAX)
是unicode check here中的2^31-3
个字符。
所以你可以把这个号码。但不知道为什么你需要这个=):
[StringLength(2147483645, MinimumLength = 3)]