假设我有两个参与者,例如学生和部门。他们之间有一对多的关系。
Student.cs
public class Student
{
public int StudentId { get; set; }
public int StudentName { get; set; }
public int StudentRoll { get; set; }
public int DepartmentId { get; set; }
public Department Department { get; set; }
}
Department.cs
public class Department
{
public int DepartmentId { get; set; }
public int DepartmentName { get; set; }
public ICollection<Student> Students { get; set; }
}
我可以使用
而不是public ICollection<Student> Students { get; set; }
public List<Student> Students { get; set; }
public IEnumerable<Student> Students { get; set; }
我在Web上的各种教程中看到了它。我应该使用哪一个?我知道我使用哪一个并不重要,但结果总是一样的。我想知道什么是最佳做法。
答案 0 :(得分:2)
不确定它是否是“最佳做法”,但我按照您的方式进行,但也使用虚拟。
public class Student
{
public int StudentId { get; set; }
public int StudentName { get; set; }
public int StudentRoll { get; set; }
public int DepartmentId { get; set; }
public virtual Department Department { get; set; }
}
public class Department
{
public int DepartmentId { get; set; }
public int DepartmentName { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
我从Scott Gu blog中选择了这种方法。所以我希望它的好东西
答案 1 :(得分:0)
一个好的做法是:
public virtual IList<Student> Students { get; set; }
这允许您使用IList实现的方法,并允许Entity Framework在运行时创建动态代理。