EF Code-First - Thuộc tính NotMapped
Thuộc tính NotMapped trong Entity Framework
Thuộc tính NotMapped (NotMapped Attribute) có thể được áp dụng cho các thuộc tính của lớp thực thể mà chúng ta không muốn tạo các cột tương ứng trong cơ sở dữ liệu.
Theo mặc định, EF tạo một cột cho mỗi thuộc tính (phải có get; và set;) trong một lớp thực thể. Thuộc tính NotMapped ghi đè quy ước mặc định này.
Bạn có thể áp dụng thuộc tính NotMapped trên một hoặc nhiều thuộc tính mà bạn KHÔNG muốn tạo cột tương ứng trong bảng cơ sở dữ liệu.
Khai báo thuộc tính NotMaps: [NotMapped]
using System.ComponentModel.DataAnnotations.Schema;
public class Student
{
public int StudentId { get; set; }
public string StudentName { get; set; }
[NotMapped]
public int Age { get; set; }
}
Trong ví dụ trên, thuộc tính NotMapped được áp dụng cho thuộc tính Age
của lớp Student
. Vì vậy, EF sẽ không tạo một cột để lưu trữ thông tin Age trong bảng db Students, như được hiển thị bên dưới.
using System.ComponentModel.DataAnnotations;
public class Student
{
private int _age = 0;
public int StudentId { get; set; }
public string StudentName { get; set; }
public string City { get{ return StudentName;} }
public int Age { set{ _age = value;} }
}