Проблема с запросом Linq to Entity, который содержит переданный список объектов - PullRequest
1 голос
/ 22 сентября 2011

У меня есть две сущности

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

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

И StudentParent.StudentID, и StudentParent.ParentID - внешние ключи, указывающие на User.UserID

У меня есть список учеников (IEnumerable<User>), для которого мне нужно получить список родителей. Мне нужна помощь в определении правильного выражения, чтобы получить список родителей.

Должен ли я использовать содержимое или какое-либо утверждение для сопоставления со списком пользователей-студентов?

1 Ответ

0 голосов
/ 22 сентября 2011

Вы должны иметь возможность 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))});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...