Entity Framework以資料庫的概念來解釋比較容易理解,它會建立不同的class,這個class裡面只會有屬性(使用DTO)
比如下例
public class Student
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public DateTime EnrollmentDate { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
public class Enrollment
{
public int EnrollmentID { get; set; }
public int CourseID { get; set; }
public int StudentID { get; set; }
public Grade? Grade { get; set; }
public virtual Course Course { get; set; }
public virtual Student Student { get; set; }
}
而通常屬性是對應到資料庫裡的欄位的
在橘色區塊是相對應的,它就是我們所說的導覽屬性,類代資料庫裡的關連性,在Student裡的Enrollments的型別是ICollection<Enrollment>,表示它是集合類別,也就是Student對Enrollment是一對多的狀態.
而黃色的部分則是述敍Enrollment中的Student是導覽屬性,因為它是Student型態,而這種關係就是一對一的狀態.
另外在EF中它會根據屬性的命名,將該屬性視為外部鍵值,以例子說明
Student類別的primary key是ID,那Enrollment類別中只要有(類別名+primary key),就會被視為外部鍵值
或者 Student類別的primary key假設是StudentID,那Enrollment中只要有StudentID就會被視為外部鍵值
1. 類別名+ primary key是ID
2. primary key 本身就是(類別名+ID)
視為外部鍵值
留言列表