我有一个像这样的模型:

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)

最佳答案

您有两种选择:

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

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

(2)使用不带参数的MaxLengthAttribute额外装饰属性(StringLengthAttribute的值将被忽略):
[Required]
[StringLength(100, MinimumLength = 3)]
[MaxLength]
public string Body { get; set; }

关于c# - 指定最大长度属性以匹配varchar(max),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40350157/

10-13 06:38