4

部門にはチームが含まれ、チームには代表者が含まれる階層があります。私がやろうとしているのは、特定の部門の下に存在する代表者のリストを取得することです。私はそれをこのようにしてみました:

var teams = from tms in db.Teams
            where tms.DepartmentID == DepartmentID
            select tms;

var TeamDelegates = from tds in db.J_TeamDelegates
                    where tds.TeamID in teams.TeamID //error here
                    select tds;

ただし、チームコレクションでは、特定のプロパティをコレクションであるかのように参照することはできません。私が言おうとしているのは、「チームコレクションでTeamIDを持つすべての代表者を選択する」です。

4

4 に答える 4

7
var TeamDelegates = from tds in db.J_TeamDelegates
                    where teams.Any(x => x.TeamID == tds.TeamID)
                    select tds;
于 2013-02-20T17:50:12.650 に答える
1
var delegates = db.Departments
    .Where(department => department.ID == 123)
    .SelectMany(department => department.Teams)
    .SelectMany(team => team.Delegates);
于 2013-02-20T18:06:20.930 に答える
1
 var TeamDelegates = db.Teams
                 .Where(tms => tms.DepartmentID == DepartmentID)
                 .SelectMany(tms => db.J_TeamDelegates
                                      .Where(tds => tds.TeamID == tms.TeamID))
于 2013-02-20T17:57:07.953 に答える