4

郡のリストにある参加者を取得するにはどうすればよいですか? var 郡の郡を取得してから、郡のリストにある CountyOfParticipationId を持つすべての参加者を取得したいと考えています。

if (collaborationId != null)
{
    var counties = (from c in db.CountyCollaborations
                    where c.CollaborationId == collaborationId
                    select c).ToList();
    participants = participants.Where(p => p.CountyOfParticipationId in counties);


}
4

4 に答える 4

3
participants = participants
.Where(p => counties.Any(c=> c.CountyId == p.CountyOfParticipationId) )

または

participants.Where(p => p.County.CollaborationId == collaborationId)

リレーションを適切に設定している場合も機能するはずです

于 2013-06-26T20:50:50.880 に答える
1

linq メソッドがシーンの背後で式を sql に変換している場合、郡を個別に保存する必要がないため、状況によってはこれの方が良い場合があります。

participants = (from p in participants 
                  join c in 
                      db.CountyCollaborations
                          .Where(cty=>cty.CollaborationId == collaborationId)
                      on p.CountyOfParticipationId equals c.CountyId
                select p);
于 2013-06-26T21:12:51.350 に答える
0

各郡に CountyId があると仮定します。

participants = participants.Where( p => 
  counties.Select(c=> c.CountyId ).Contains( p.CountyOfParticipationId) );
于 2013-06-26T20:51:33.353 に答える