EF Code-First - Thuộc tính Maxlength

Thuộc tín MaxLength trong Entity Framework

Thuộc tính MaxLength (MaxLength Attribute) có thể áp dụng cho một hoặc nhiều thuộc tính trong một lớp thực thể.

Nó chỉ định độ dài tối đa của giá trị dữ liệu được phép cho một thuộc tính và thiết lập kích thước của một cột tương ứng trong cơ sở dữ liệu.

Nó có thể áp dụng cho các thuộc tính kiểu string hoặc byte[] của một thực thể.

using System.ComponentModel.DataAnnotations;
    
public class Student
{
    public int StudentID { get; set; }
    [MaxLength(50)]
    public string StudentName { get; set; }
        
}

Trong ví dụ trên, khai báo MaxLength(50) áp dụng trên thuộc tính StudentName chỉ định rằng giá trị của thuộc tính StudentName không thể dài hơn 50 ký tự.

Điều này sẽ tạo một cột StudentName có kích thước nvarchar(50) trong cơ sở dữ liệu SQL Server, như được hiển thị bên dưới.

dataannotations maxlength attribute

Entity Framework cũng xác nhận giá trị của một thuộc tính MaxLength cho thuộc tính nếu bạn gán giá trị vượt kích thước đã chỉ định.

Ví dụ: nếu bạn gán giá trị chuỗi dài hơn 50 ký tự, thì EF 6 sẽ ném ra ngoại lệ System.Data.Entity.Validation. DbEntityValidationException.

Lưu ý: Thuộc tính MaxLength cũng được sử dụng trong ASP.NET MVC để xác thực giá trị của thuộc tính.