MaxLength 和 MinLength 属性
[MaxLength(int)
] 属性可以应用于域类的字符串或数组类型属性。实体框架将列的大小设置为指定的值。
using System.ComponentModel.DataAnnotations;
public class Person
{
public int PersonID { get; set; }
[MinLength(3), MaxLength(100)]
public string PersonName { get; set; }
}
生成的列具有指定的列长度:
[MinLength(int)
] 属性是验证属性,它不影响数据库结构。如果我们尝试插入/更新 PersonName 长度小于 3 个字符的 Person,则此提交将失败。我们将得到一个我们需要处理的 DbUpdateConcurrencyException
。
using (var db = new ApplicationDbContext())
{
db.Staff.Add(new Person() { PersonName = "ng" });
try
{
db.SaveChanges();
}
catch (DbEntityValidationException ex)
{
//ErrorMessage = "The field PersonName must be a string or array type with a minimum length of '3'."
}
}
二者 [的 MaxLength] 和 [MINLENGTH] 属性也可以用 asp.net-MVC 作为验证属性使用。