Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 实体框架中导航属性的收藏夹约束_.net_Sql Server_Database_Entity Framework_Relational Database - Fatal编程技术网

.net 实体框架中导航属性的收藏夹约束

.net 实体框架中导航属性的收藏夹约束,.net,sql-server,database,entity-framework,relational-database,.net,Sql Server,Database,Entity Framework,Relational Database,所以我有Studentmodel和'Subject'model。而学生与科目之间存在一对多关系主题模型本身由学生创建,因此每个主题与学生有1-1关系 现在,当我试图请求类似于Student.Subjects的内容时,返回的是该用户创建的所有Subjects。但我需要添加最喜欢的逻辑 所以现在,学生可以将“主题”标记为最喜欢的(即使该主题不是由该学生构建的) 我的问题是如何组织数据结构以支持Student.FavoriteSobjects(它可能是用户最喜欢的多个主题) UPD:如果只有学生的自

所以我有
Student
model和'Subject'model。而
学生
科目
之间存在一对多关系<代码>主题模型本身由学生创建,因此每个
主题
学生
有1-1关系

现在,当我试图请求类似于
Student.Subjects
的内容时,返回的是该用户创建的所有
Subjects
。但我需要添加最喜欢的逻辑

所以现在,学生可以将“主题”标记为最喜欢的(即使该主题不是由该学生构建的)

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



UPD:如果只有
学生的
自己的
科目
可以被标记为最喜欢,那又有什么区别呢。这允许避免多对多关系吗?

看起来您需要一个
主题
学生
之间的联接表

即:

公共班级学生
{
公共虚拟集合收藏夹{get;set;}
公共虚拟集合主题{get;set;}
}
公共课宠儿
{
公共虚拟主题主题{get;set;}
公共虚拟学生学生{get;set;}
}

为什么他不能简单地拥有:
公共虚拟主题收藏夹{get;set;}公共虚拟集合主题{get;set;}
?另一件事这是非常不寻常的,因为每个科目只有一名学生选修。听起来每个学生都有许多自己喜欢的科目,正如
学生在其原始帖子中所规定的那样。FavoriteSubjects
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; }
}