【发布时间】:2016-12-16 22:25:01
【问题描述】:
我的学生姓名和课程名称中有两个表格。他们之间有很多关系。我如何吸取学习者的教训?以下是我写的实体。
public class Student
{
public Student()
{
Lessons = new HashSet<Lesson>();
}
public int ID { get; set; }
public int MaxCredit { get; set; }
public int MemberID { get; set; }
public virtual Member Member { get;
public virtual ICollection<Lesson> Lessons { get; set; }
}
public class Lesson
{
public Lesson()
{
Students = new HashSet<Student>();
}
public int ID { get; set; }
public string Name { get; set; }
public int LessonCredit { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
我试图给学生上课:
uow.LessonRepository.GetALL().Where(x=> x.Students.Any(s=> s.MemberID==id))
但它给了我一个铸造错误。
【问题讨论】:
-
你似乎拥有它;该代码有什么问题?
-
比如我想上学生x的课,怎么上?
-
只需访问
Student对象的Lessons属性。那不行吗? -
我正在使用 EntityFramework。我正在尝试这样的事情。但它说演员。我不明白他为什么要投一些已经在名单上的东西。 _uow.LessonRepository.GetALL().Where(x=> x.Students.Any(s=> s.MemberID==id));
-
请更具体地说明您的错误(以及使用它的代码)您的 EF 模型看起来正确。该代码是一个 start 虽然看起来有点荒谬。如果您想要学生课程,为什么不做类似
students.FirstOrDefault(s => s.Id == id).Lessons的事情?在您的代码中,您需要显示您将其分配给的内容,再次具体的转换错误会很好。
标签: c# list ef-code-first