1

所以我有Student模型和'主題'模型。並且在StudentSubject之間存在一對多關係。 Subject模型本身由學生創建,所以每個SubjectStudent有1-1關係。實體框架中的導航屬性最喜歡的約束

現在,當我試圖請求類似Student.Subjects的東西時,它返回的是我所有由此用戶創建的Subjects。但我需要添加最喜歡的邏輯。

所以,現在,學生可能標誌着「主題」爲喜歡(即使這個主題不是由這個學生構建。)

我的問題是我應該如何組織數據結構,以支持Student.FavoritesSubjects(它可能是用戶多最喜歡的科目)


UPD:還有什麼區別,如果只是Student's自己Subject可以標記喜愛。這是否允許避免多對多的關係?

回答

0

看起來您需要SubjectsStudents之間的連接表。

即:

public class Student 
{ 
    public virtual Collection<Favourite> Favourites { get; set; } 
    public virtual Collection<Subjects> Subjects { get; set; } 
} 

public class Favourite 
{ 
    public virtual Subject Subject { get; set; } 
    public virtual Student Student { get; set; } 
} 
+0

爲什麼他不能只是有:'公共虛擬主題收藏{獲得;組; } public virtual Collection 主題{get;組; ''?另一件事情是非常不尋常的,只能讓一名學生參加每門課程。 – Yoda 2015-02-06 01:22:42

+0

聽起來好像每個學生都有許多收藏夾,正如他原始帖子中的'Student.FavoritesSubjects'所規定的。 – Nagoh 2015-02-06 01:42:15