Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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
C# 我应该如何在实体框架中建立两个模型之间的连接?_C#_Entity Framework - Fatal编程技术网

C# 我应该如何在实体框架中建立两个模型之间的连接?

C# 我应该如何在实体框架中建立两个模型之间的连接?,c#,entity-framework,C#,Entity Framework,我正在做一个样本项目,其中有课程,由课程组成,由讲师思考 以下是我定义的模型: public class Course { public int Id { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual IEnumerable<Lesson> Lesson

我正在做一个样本项目,其中有
课程
,由
课程
组成,由
讲师思考

以下是我定义的模型:

    public class Course
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public virtual IEnumerable<Lesson> Lessons { get; set; }
        public virtual IEnumerable<Instructor> Instructors { get; set; }
        public int Rating { get; set; }

    }

    public class Lesson
    {
        public enum MediaTypes
        {
            Audio,
            Video,
            Text,
            PDF
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public virtual IEnumerable<Course> Courses { get; set; }
        public MediaTypes MediaType { get; set; }
        public string MediaUrl { get; set; }
    }

    public class Instructor
    {
        public int Id { get; set; }
        public virtual IEnumerable<Course> Courses { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Bio { get; set; }
        public int Rating{ get; set; }
    }
公共课
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共虚拟IEnumerable课程{get;set;}
公共虚拟IEnumerable指令器{get;set;}
公共整数评级{get;set;}
}
公共课
{
公共枚举媒体类型
{
音频
视频
文本,
PDF
}
公共int Id{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共虚拟IEnumerable课程{get;set;}
公共媒体类型媒体类型{get;set;}
公共字符串MediaUrl{get;set;}
}
公开课教师
{
公共int Id{get;set;}
公共虚拟IEnumerable课程{get;set;}
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共字符串Bio{get;set;}
公共整数评级{get;set;}
}
这是我用实体框架Power Tools绘制的数据库图。

我在
课程
模型中提到了
讲师
课程
,那么为什么
课程
课程
讲师
之间没有关系呢?我做错了什么?

非常感谢。

您在这里有多对多关系,因此必须有一个中间表将它们连接在一起。我想脚手架可以解决这个问题。我应该如何做到这一点?我需要在模型中添加一些东西吗?这可能已经解决了,但您还没有将这些中间表添加到图表中。顺便说一句,我想一节课只链接到一个课程,而不是它们的集合。David G是正确的。应创建映射表。完成后,如果您在SQL中的表上创建外键并重新导入表,那么将在代码中自动创建链接。如果您先编写代码(这是推荐的,因为较新版本的EF只支持此方法),那么您需要适当地设置它们。此链接应包含您需要的内容: