我正在使用實體框架7 RC1,我基本上試圖創建一個領域,以便我可以舉行學生標準(一個學生可以有很多標準,每個標準可以屬於很多學生)。在asp.net文檔之後,我設置了表格,並且使用一些組成的數據在SQL Server中手動填寫了Student表格,Standard表格和StudentStandard表格。但是,當我在運行時調試代碼/視圖時,我發現當我在控制器中執行getAll時,StudentStandards字段爲'null'。我使用下面的代碼在視圖中訪問此字段:model.Students.StudentStandards.Select(c => c.StandardId),但是這不提供任何內容。EF 7多對多的關係沒有FK連接器表
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime DateOfBirth { get; set; }
public byte[] Photo { get; set; }
public decimal Height { get; set; }
public float Weight { get; set; }
public ICollection<StudentStandard> StudentStandards { get; set; }
}
public class StudentStandard
{
[ForeignKey("Student")]
public int StudentId { get; set; }
public Student Student { get; set; }
[ForeignKey("Standard")]
public int StandardId { get; set; }
public Standard Standard { get; set; }
}
public class Standard
{
public int StandardId { get; set; }
public string StandardName { get; set; }
public ICollection<StudentStandard> StudentStandards { get; set; }
}
這是表的樣子使用遷移來創建它後:
我的問題:我怎麼得到這個M:M關係的關係來存儲和檢索這些數據?
我可以包括StudentStandards連接器表,但我沒有得到自動感測如上所述的標準表。看着我的學生實體,這確實有道理,因爲本身沒有標準領域。你能爲我驗證嗎?謝謝 – Reza
謝謝@dotNet。用你的答案和其他網絡帖子的組合來想出它 – Reza
你能解釋一下如何讓這個屬性起作用嗎? – DerDee