[英]Entity framework fluent API on already existing data
型號1)
public class Student {
int StudentID {get;set;}
string FirstName {get;set;}
string LastName {get;set;}
ICollection courses = {get; set;}
}
MODEL2)
public class Course{
int CourseID {get;set;}
string CourseName {get;set;}
int CreditHours {get;set;}
}
Model3)
public class StudentCourse{
int StudentCourseID {get;set;}
int StudentID {get;set;}
int CourseID {get;set;}
}
現在我將一堆數據添加到數據庫中...
學生與課程之間的關系(一對多)就會丟失。
現在我在數據庫中僅基於上述模型的三個數據表
他們之間沒有任何關系。
如果我創建另一個應用程序,請編寫與上述模型完全匹配的3個模型,並定義之間的一對多關系
學生和課程使用流暢的API,行得通嗎? 那我將能夠關聯已經存在的數據嗎?
例如,
完成上述步驟並查詢了學生列表並執行了student.courses.ToList();之后; 是否將具有匹配StudentID的課程作為該查詢的列表返回?
學生與課程之間的關系(一對多)就會丟失。
該關系不起作用,因為您僅在它的“ Student
側設置了一個鏈接。 您還需要為Courses
上的關系添加一個端點:
public class Student {
public virtual ICollection<Course> Courses { get; set; }
}
public class Course {
public virtual Student Student { get; set; }
}
這應該建立一對多關系。
不過,許多學生都參加相同的課程,因此我將其設置為多對多關系:
public class Student {
public virtual ICollection<Course> Courses { get; set; }
}
public class Course {
public virtual ICollection<Student> Students { get; set; }
}
我認為這應該消除對StudentCourse表的需要,但是我在這一點上正在接受糾正。
現在,對於它們之間的鏈接(StudentCourse),您也將希望在此關系上正確構建關系:
public class StudentCourse
{
public int Id { get; set; }
public virtual Student Student { get; set; }
public virtual Course Course { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.