2016-10-11 8 views
-2

나는 그것을 람다로 변환하려고 많이 노력하고 있지만 성공하지 못했습니다. linq 또는 람다로 변환 할 수있는 방법이 있습니까?람다 또는 linq에 중첩 된 foreach 루프 변환

foreach (var tempitem in mbsRateTempList) 
{ 
    foreach (var Saveditem in mbsSavedRecordList) 
    { 
     if (tempitem.MbsSecurityId == Saveditem.MbsSecurityId && tempitem.CouponRate == Saveditem.CouponRate 
       && tempitem.SettlementMonth.Month == Saveditem.SettlementMonth.Month && tempitem.Price == Saveditem.Price) 
     { 
      TobeDeletedIds.Add(Saveditem.Id); 
      MatchedIdsInTempList.Add(tempitem.TempId); 
      //mbsSavedRecordList[0].ObjectState=Repository.Pattern.Base.Infrastructure.ObjectState. 
     } 
     //else 
     //{ 

     //} 
    } 
} 
+0

에 오신 것을 환영합니다. 사용중인 데이터, 보유한 코드 엔티티 및 발생한 오류의 예를 제공해주십시오. 질문을 편집해도 괜찮습니다. –

답변

0

할 수 있습니다 모든 관련 속성을 포함하는 익명 형식에 Join : 스택 오버플로

var objectsToAdd = from tempitem in mbsRateTempList 
        join saveditem mbsSavedRecordList 
        on new { tempitem.MbsSecurityId, tempitem.CouponRate, tempitem.SettlementMonth.Month, tempitem.Price } 
        equals new { saveditem.MbsSecurityId, saveditem.CouponRate, saveditem.SettlementMonth.Month, saveditem.Price } 
        select new { tempitem, saveditem }; 

foreach(var x in objectsToAdd) 
{ 
    TobeDeletedIds.Add(x.saveditem.Id); 
    MatchedIdsInTempList.Add(x.tempitem.TempId); 
}