包含传递的实体列表的Linq to Entity查询的问题

时间:2011-09-22 00:09:25

标签: linq entity-framework

我有两个实体

User {  UserID, Name, UserTypeID }
StudentParent { StudentParentID, StudentID, ParentID }

// where
UserTypeID { 1=student, 2=parent }

StudentParent.StudentIDStudentParent.ParentID都是指向User.UserID

的外键

我有一份学生名单(IEnumerable<User>),我需要获得父母名单。我需要帮助找出正确的表达方式来获取父母的名单。

我是否应该使用contains或any语句来匹配学生用户列表?

1 个答案:

答案 0 :(得分:0)

您应该可以Select Parent来自IEnumerable名学生的students.SelectMany(s => s.StudentParents.Select(sp => sp.ntParent_Parent)); 个人。

Students

这会从您的学生集合中进行投射,而不是全部students.Select(s => new { Student = s, Parents = s.StudentParents.Select(sp => sp.ntParent_Parent))});

逻辑上它就像

  • 这是一组学生
  • 为每个学生提供学生家长实体
  • 对于每个学生实体,获得父母

选择匿名类型可能更有用,这样您就可以看到哪些家长属于哪些学生。

{{1}}