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