-2
데이터의 두 세트가 있습니다 : trainedOfficers
및 officersToTrain
입니다. 이 데이터 세트는 공통적으로 ClubId
을 공유합니다. 이 officersToTrain
에 나타나지 않도록하려면 바로 외부 조인을 수행하고 싶습니다. 이 이미지에서 상대 :linq을 사용하여 오른쪽 조인 외부 조인을 수행하는 방법
- A는 = trainedOfficers
- B = officersToTrain
나는 다음과 같은 쿼리를 수행 시도했지만 그것이 어떤 결과를 얻을 수 없습니다.
public void SetTrainedClubOfficers(ILookup<ClubID, ClubOfficerAuthority> clubsAuthorityLookup)
{
var clubIds = clubsAuthorityLookup.Select(x => x.Key);
var trainedOfficers = GetTrainedClubOfficers(clubIds.ToArray());
var clubsToTrain = from trainedOfficer in trainedOfficers
join officer in clubsAuthorityLookup
on trainedOfficer.Key equals officer.Key into joined
from officer in joined.DefaultIfEmpty()
select new
{
ClubId = officer.Key,
Officers = officer.Select(club => club)
};
}
올바른 외부 결합을 얻으려면 어떻게해야합니까?
마지막 단락과 완전히 일치합니다. 이것은 형편없는 디자인입니다. –