c# - 指定最大长度属性以匹配 varchar(max)

标签 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; }

如您所见,对于 Body,我将限制设置为 100,但在数据库中此列为 varchar(max)。我可以输入什么来匹配列的 varchar(max) 长度?

最佳答案

你有两个选择:

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

[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/

相关文章:

c# - 返回 IList 与 List 或 IEnumerable 与 List<Class> 之间有什么区别。我想知道返回哪个更好

c# - 如何在 ASP. NET Core 中使用 jquery

entity-framework - EF DataContext 选择未保存的对象

c# - C# 的小数类型记帐安全吗?

c# - 在构造函数中递增唯一 ID 号

C#.NET 网络 API : cycling file upload location accessible and modifiable by various asynchronous HTTP requests

c# - 使用 Entity Framework 在运行时连接到Sqlite数据库

c# - 在 C# 中将 Httpheader 添加到 selenium chrome webdriver

javascript - MVC jquery.dataTables 无法获取未定义或空引用的属性 'className'

asp.net-mvc - asp.net mvc 4 - 可以为每个线程共享 DbContext 吗?