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

生成的列具有指定的列長度:

StackOverflow 文件

[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 作為驗證屬性使用。