看着你的实体,“学生”有一个“课程”(真正:课程)属性?
你的实体,你想做的事或许应该是这个样子,为:
public class Student
{
public string Name {get; set;}
public virtual ICollection<Course> Courses {get; set;}
}
然后你会做这样的事情:
Student student = new Student();
student.Name = Bob;
student.Courses.Add(db.Courses.Where(c => c.CourseName == "Geography"));
编辑:如果学生能只有一个课程,您修改Student
类,因此它看起来像这样:
public class Student
{
public int StudentId {get; set;}
public string Name {get; set;}
public int CourseId {get; set;}
public virtual Course Course {get; set;}
}
然后你的代码如下所示:
student.Course = db.Courses.Where(c => c.CourseName == "Geography"));
这是怎么回事你的代码(我希望)是你只有CourseId
所以当你这样你就可以实际的课程对象不分配给您的学生。
我有点困惑,因为学生=>课程是一对多,所以应该是学生。课程? – Vimvq1987 2011-05-24 16:29:43
@ Vimvq1987是的,我很抱歉,我在写我的文章时犯了一个错误,我已经纠正了它,很多学生都修了1门课。 – DeveloperDavid 2011-05-24 16:42:45