实体框架中导航属性的最喜欢约束

时间:2015-02-06 00:14:11

标签: .net sql-server database entity-framework relational-database

所以我有Student模特和'主题'模型。 StudentSubject之间存在一对多的关系。 Subject模型本身由学生创建,因此每个SubjectStudent具有1-1关系。

现在,当我尝试请求类似Student.Subjects的内容时,它会返回此用户创建的所有Subjects。但我需要添加喜欢的逻辑。

所以,现在,学生可以标记'主题'作为收藏(即使该主题不是由该学生构建的。)

我的问题是我应该如何组织数据结构以支持Student.FavoritesSubjects(它可能是用户最喜欢的主题)


UPD:如果只有Student's拥有Subject可以标记为收藏,那么会有什么不同。这是否允许避免多对多关系?

1 个答案:

答案 0 :(得分: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; }
}