2012-11-29 2 views
1

질문 - LINQ에서 특정 레코드를 제거하는 방법. 일부 레코드는 LINQ에서 제거해야합니다.LINQ를 사용하여 레코드 집합에서 특정 레코드 제거

시나리오 - 나는 2 개의 레코드가있는 10 개의 레코드와 테이블 B가있는 테이블 A를 가지고 있습니다. B에서 속하는 레코드를 제거하고 싶습니다. [linq를 사용하여] - 아래에 q와 i의 모든 레코드가 있습니다. p에있는 레코드를 제거하고 싶습니다. pq는 다른 유형이기 때문에

var p = from c in q 
     join dr in dc.TableData on c.Id equals dr.CaseId 
     select new View() 
     { 
      ActiveCaseId = c.ActiveCaseId, 
      Id = c.Id        
     }; 

q = q.Except(p); 

답변

1

당신은, 당신이 보여로 Except 함께 할 수 없습니다. 그러나 그것은 또한 조금 어색 할 것입니다.

당신은 하나 개의 쿼리에서 작업을 수행 할 수 있습니다

var p = from c in q 
     where !dc.TableData.Any(dr => dr.CaseId == c.Id) 
         select new View() 
         { 
          ActiveCaseId = c.ActiveCaseId, 
          Id = c.Id        
         }; 
관련 문제