[英]change relationships with entity framework core
我是 Entity Framework Core 和 Code First 的新手。 在我的設計方法中,我在兩個實體之間犯了錯誤。
我創建了一個表subCourses目前設置為與Instructors有一對多的關系。 這意味着一個子課程可以有很多講師,這就是我的錯誤,我希望反過來,以便講師可以有很多子課程。
我還沒有創建任何控制器或生成任何視圖或向這些表填充任何數據。
這是子課程的縮寫模型代碼:
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; }
}
這是教師的縮寫模型代碼:
public class Instructor
{
[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 SubCourse SubCourse { get; set; }
public int SubCourseID { get; set; }
}
我需要改變我的結構來改變我的關系,然后我可以在包管理器控制台中進行以下更改:
Add-Migration ChangeRelationInstructorSubCourse
更新數據庫
謝謝
如果你想在 Instructor 和 SubCourse 之間創建一對多的關系,你可以改變模型設計,如下所示:
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; }
}
然后在包管理器控制台中生成一個包含新關系的新遷移文件
Add-Migration ChangeRelationInstructorSubCourse
將新關系更新到數據庫中
Update-Database
對於EF Core中的關系,可以抽空去學習官方文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.