0
我一直在閱讀和查看大量關於EF的資源,但是 - 有時 - 我看到一些例子沒有列出特定實例的外鍵ID。其他時候,他們把它放進去。將它放入或取出的含義是什麼?實體框架 - 離開外國證號列的影響列
例如:
public class Student
{
public int TeacherID { get; set; }
[Required]
public Teacher Teacher { get; set; }
}
public class Teacher
{
public virtual List<Student> Students { get; set; }
}
與
public class Student
{
[Required]
public Teacher Teacher { get; set; }
}
public class Teacher
{
public virtual List<Student> Students { get; set; }
}
老師仍然需要一把鑰匙。在第二個FK場景中,EF將自動創建一個名爲Teacher_Id的FK。 –
當把鑰匙丟掉時,你失去了對它的控制。但是,EF始終會創建FK以匹配導航屬性,否則這些屬性將無法訪問 – DevilSuichiro
數據庫表仍需要外鍵列。將它從EF模型中排除的含義是,它使EF確定關係更加困難且容易出錯。出於這個原因,我幾乎總是使用它們。 – danludwig