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.

dataannotations table attribute

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.

dataannotations table attribute