2
可變列的表模型我有如下表:創建在MVC
| Math | English | Chemistry
John J. | A | F | B
Mike M. | A | F | B
Eve E. | A | F | B
所以我有一個變量數列(可以在運行時進行設置)和學生的數量可變的。
我的SQL數據庫可以樣子:
Table 1
studentID
studentName
studentAddress
Table 2:
disciplineID
disciplineName
disciplineTeacher
Table 3:
studentID
disciplineID
grade
應該如何我的模型是什麼樣子?我可以做些什麼:
public class Catalog
{
public int ID { get; set; }
public virtual IEnumerable<Discipline> Disciplines { get; set; }
public virtual IEnumerable<Student> Students { get; set; }
public virtual IEnumerable<Grades> StudentGrades { get; set; }
}
internal class Discipline
{
public int ID { get; set; }
public string Name { get; set; }
}
internal class Student
{
public int ID { get; set; }
public string Name { get; set; }
}
internal class Grades
{
public int StudentId { get; set; }
public int DisciplineId { get; set; }
public char Grade { get; set; }
}
這是做這個多列/運行時定義的正常方法嗎? 如何確保視圖中的規則始終處於同一順序? 如何確保在視圖中呈現表格行時爲每個學生顯示正確的學科正確的成績?
謝謝!
這種方法最大的問題是我失去了數據庫支持。 – AndreiM
在您的評論之後,產品目錄如下所示: public class Catalog2 { {0} {0} public int ID {get ;組; } public virtual IEnumerable Disciplines {get;組; } 公共虛擬ILookup > StudentGrades {get;組; } } –
AndreiM
這意味着學生對同一學科有多個等級。 'ILookup>'。由於可能有兩名同名的學生,因此請始終鏈接ID。如果你想從數據庫加載,然後創建一個視圖和匹配的類。 –