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