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

Thuộc tính StringLength trong Entity Framework

Thuộc tính StringLength (StringLength Attribute) có thể áp dụng cho các thuộc tính kiểu string của một lớp thực thể.

Nó chỉ định số ký tự tối đa được phép cho thuộc tính chuỗi, và thiết lập kích thước của một cột tương ứng (kiểu nvarchar trong SQL Server) trong cơ sở dữ liệu.

using System.ComponentModel.DataAnnotations;

public class Student
{
    public int StudentID { get; set; }
    [StringLength(50)]
    public string StudentName { get; set; }
}

Như bạn có thể thấy trong đoạn mã trên, chúng tôi đã áp dụng thuộc tính StringLength cho một thuộc tính StudentName. Vì vậy, EF sẽ tạo cột StudentName có kiểu dữ liệu là nvarchar(50) trong cơ sở dữ liệu, như được hiển thị bên dưới.

dataannotations required attribute

Entity Framework cũng xác nhận giá trị của một thuộc tính StringLength 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 đặt giá trị chuỗi thành 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 StringLength cũng có thể được sử dụng trong ASP.NET MVC để xác thực giá trị của thuộc tính.