我是 Linq 和 C# 的新手。我正在使用两个数据表填充两个嵌套列表。有一个 StudentList 是父列表。每个学生的每门课程都有一个 GradeList。我可以从数据库中获取两个数据集作为数据表,一个是学生,另一个是年级。在 Grade 类中有一个可以与 Student 链接的 studentID。如何填充 StudentList?
public class Student
{
public string ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public List<Grade> GradeList { get; set; }
}
public class Grade
{
public string CourseID { get; set; }
public string CourseTitle { get; set; }
public decimal CourseGrade { get; set; }
public string studentID { get; set; }
}
//下面是代码
DataTable dt = ds.Tables[0]; //students
DataTable dt1 = ds.Tables[1]; //Grades
studList = (from DataRow dr in dt.Rows
select new Student()
{
ID = dr["ID"].ToString(),
FirstName = dr["FIRSTNAME"].ToString(),
LastName = dr["LASTNAME"].ToString(),
GradeList = (from DataRow gdr in dt1.Rows as IEnumerable
// where gdr["studentID"] == ID
select new Grade()
{
CourseID = gdr["COURSEID"].ToString(),
CourseTitle = gdr["COURSETITLE"].ToString(),
CourseGrade = Convert.ToDecimal(gdr["COURSEGRADE"]),
studentID = gdr["STUDENTID"].ToString()
}.ToList()
)
}).ToList();
我期待填写 studList。非常感谢
aluckdog
相关分类