EF Code-First - Attribute chú thích dữ liệu
Attribute chú thích dữ liệu trong Entity Framework
Attribute (thuộc tính) chú thích dữ liệu là các thuộc tính .NET có thể được áp dụng trên một lớp thực thể hoặc thuộc tính để ghi đè các quy ước mặc định trong EF 6 và EF Core.
Các attribute chú thích dữ liệu có trong namespace System. ComponentModel. DataAnnotations
và System. ComponentModel. DataAnnotations. Schema
trong EF 6 cũng như trong EF Core.
Các thuộc tính này không chỉ được sử dụng trong Entity Framework mà chúng còn có thể được sử dụng trong ASP.NET WebForm và ASP.NET MVC hoặc các điều khiển dữ liệu.
Các attribute chú thích dữ liệu này hoạt động theo cùng một cách trong EF 6 và EF Core và có giá trị trong cả hai.
Các attribute chú thích dữ liệu
Các attribute chú thích dữ liệu của namespace System. ComponentModel. DataAnnotations
Attribute | Mô tả |
---|---|
Key | Có thể được áp dụng cho một thuộc tính để chỉ định một thuộc tính khóa trong một thực thể và biến cột tương ứng thành cột khóa chính trong cơ sở dữ liệu. |
Timestamp | Có thể được áp dụng cho một thuộc tính để chỉ định kiểu dữ liệu của một cột tương ứng trong cơ sở dữ liệu như rowversion . |
ConcurrencyCheck | Có thể được áp dụng cho một thuộc tính để chỉ định rằng cột tương ứng phải được đưa vào kiểm tra concurrency. |
Required | Có thể được áp dụng cho một thuộc tính để chỉ định rằng cột tương ứng là cột NotNull trong cơ sở dữ liệu. |
MinLength | Có thể được áp dụng cho một thuộc tính để chỉ định độ dài chuỗi tối thiểu được phép của cột tương ứng trong cơ sở dữ liệu. |
MaxLength | Có thể được áp dụng cho một thuộc tính để chỉ định độ dài chuỗi tối đa được phép của cột tương ứng trong cơ sở dữ liệu. |
StringLength | Có thể được áp dụng cho một thuộc tính để chỉ định độ dài chuỗi tối đa được phép của cột tương ứng trong cơ sở dữ liệu. |
Các attribute chú thích dữ liệu của namespace System. ComponentModel. DataAnnotations. Schema
Attribute | Mô tả |
---|---|
Table | Có thể được áp dụng cho một lớp thực thể để cấu hình tên bảng và lược đồ tương ứng trong cơ sở dữ liệu. |
Column | Có thể được áp dụng cho một thuộc tính để cấu hình tên cột, thứ tự và kiểu dữ liệu tương ứng trong cơ sở dữ liệu. |
Index | Có thể được áp dụng cho một thuộc tính để cấu hình rằng cột tương ứng sẽ có một Index trong cơ sở dữ liệu. (Chỉ từ EF 6.1 trở đi) |
ForeignKey | Có thể được áp dụng cho một thuộc tính để đánh dấu nó là một thuộc tính khóa ngoại. |
NotMapped | Có thể được áp dụng cho một thuộc tính hoặc lớp thực thể cần được loại trừ khỏi mô hình và không nên tạo một cột hoặc bảng tương ứng trong cơ sở dữ liệu. |
DatabaseGenerated | Có thể được áp dụng cho một thuộc tính để cấu hình cách cơ sở dữ liệu cơ sở sẽ tạo giá trị cho cột tương ứng, ví dụ: identity, computed hoặc none. |
InverseProperty | Có thể được áp dụng cho một thuộc tính để chỉ định nghịch đảo của thuộc tính điều hướng đại diện cho đầu kia của cùng một mối quan hệ. |
ComplexType | Đánh dấu lớp là kiểu phức tạp trong EF 6. EF Core 2.0 không hỗ trợ thuộc tính này. |