有多对多的linq选择有问题

时间:2012-11-29 10:18:49

标签: .net linq

我创建了三个表:

enter image description here

我想要做的是选择一位参与者,其中存在管理员参与者记录,以及给定的参与者和管理员ID。

我尝试过的是:

var result = (from a in dc.Attendees
              from aa in dc.AdministratorAttendees
              where aa.AdministratorId == this.CurrentAdminId && a.AttendeeId == _attendee.AttendeeId
              select a);

但是,尽管存在针对给定ID的参加者,管理员和管理员参与者记录,但它没有返回任何结果。

使用正确的linq查询是什么?

由于

1 个答案:

答案 0 :(得分:1)

你有这样的尝试吗?

var result = (from a in dc.Attendees
                  join aa in dc.AdministratorAttendees
                  on new { aa.AdministratorId, a.AttendeeId } equals 
                     new { this.CurrentAdminId, _attendee.AttendeeId } 
                  select a);