EF Code-First - Thuộc tính Table
Table Attribute trong Entity Framework
Thuộc tính Table (Table Attribute) có thể được áp dụng cho một lớp để cấu hình tên bảng tương ứng trong cơ sở dữ liệu. Nó ghi đè lên quy ước mặc định trong EF 6 và EF Core.
Theo các quy ước mặc định, EF 6 tạo một tên bảng khớp với tên thuộc tính (DbSet<TEntity> PropertyName + 's' hoặc 'es') trong lớp Context.
Khai báo thuộc tính Table:
[Table(string name, Properties:[Schema = string])]
- name: Tên của bảng trong Db.
- schema: Tên của Lược đồ Db trong đó một bảng được chỉ định sẽ được tạo. (Không bắt buộc)
using System.ComponentModel.DataAnnotations.Schema;
[Table("StudentMaster")]
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
}
Trong ví dụ trên, thuộc tính Table được áp dụng cho lớp thực thể Student
. Vì vậy, EF sẽ ghi đè các quy ước mặc định và tạo bảng StudentMaster
thay vì bảng Students
trong cơ sở dữ liệu, như được hiển thị bên dưới.
Sử dụng thuộc tính Schema
để chỉ định tên lược đồ cho bảng trong Db như dưới đây.
using System.ComponentModel.DataAnnotations.Schema;
[Table("StudentMaster", Schema="Admin")]
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
}
EF sẽ tạo bảng StudentMaster
trong lược đồ Admin
như dưới đây.