Asp.net core mvc 更改与实体框架核心的关系
我第一次接触实体框架核心和代码。在我的设计方法中,我在两个实体之间犯了错误 我已经创建了一个表subCourses,该表当前设置为与讲师建立一对多关系。这意味着一个副课程可以有很多讲师,这就是我的错误所在,我想让它反过来,这样一个讲师可以有很多副课程 我还没有创建任何控制器或生成任何视图,也没有向这些表填充任何数据 这是分课程的简化模型代码:Asp.net core mvc 更改与实体框架核心的关系,asp.net-core-mvc,entity-framework-core,Asp.net Core Mvc,Entity Framework Core,我第一次接触实体框架核心和代码。在我的设计方法中,我在两个实体之间犯了错误 我已经创建了一个表subCourses,该表当前设置为与讲师建立一对多关系。这意味着一个副课程可以有很多讲师,这就是我的错误所在,我想让它反过来,这样一个讲师可以有很多副课程 我还没有创建任何控制器或生成任何视图,也没有向这些表填充任何数据 这是分课程的简化模型代码: public class SubCourse { //Constructor public SubCourse() {
public class SubCourse
{
//Constructor
public SubCourse()
{
Instructors = new List<Instructor>();
}
[Key]
public int SubCourseID { get; set; }
[Column(TypeName = "nvarchar(10)")]
[DisplayName(" Local Course Name")]
[Required(ErrorMessage = "You must fill in Local Sub Course name.")]
public string LocalCourseCode { get; set; }
public List<Instructor> Instructors { get; set; }
}
我需要在我的结构中更改什么才能在我的关系中进行切换,然后我可以在package manager控制台中更改:
添加迁移ChangeRelationInstructor子课程
更新数据库
谢谢如果您想在讲师和次级课程之间建立一对多的关系,您只需更改模型设计,如下所示:
public class SubCourse
{
[Key]
public int SubCourseID { get; set; }
[Column(TypeName = "nvarchar(10)")]
[DisplayName(" Local Course Name")]
[Required(ErrorMessage = "You must fill in Local Sub Course name.")]
public string LocalCourseCode { get; set; }
public int InstructorID { get; set; }
public Instructor Instructor { get; set; }
}
public class Instructor
{
public Instructor()
{
SubCourses = new List<SubCourse>();
}
[Key]
public int InstructorID { get; set; }
[MaxLength(50)]
[Column(TypeName = "nvarchar(50)")]
[DisplayName("First Name")]
[Required(ErrorMessage = "You must fill in the first name.")]
public string FirstName { get; set; }
[MaxLength(50)]
[Column(TypeName = "nvarchar(50)")]
[DisplayName("Last Name")]
[Required(ErrorMessage = "You must fill in the last name.")]
public string LastName { get; set; }
public List<SubCourse> SubCourses { get; set; }
}
将新关系更新到数据库中
Update-Database
对于EF Core中的关系,您可以留出时间学习我假设一(讲师)对多(子课程)关系,而不是多对多关系,如果是这样,请从讲师中删除SubCourseID,并将SubCourse属性设置为ICollection类型,然后将讲师属性和讲师ID属性添加到SubCourse中
Add-Migration ChangeRelationInstructorSubCourse
Update-Database