2010-12-13 4 views
1

LINQ 개념을 처음 사용합니다. 내가 LINQIEnumerable LINQ를 사용하여 데이터 테이블에서 고유 한 값을 필터링해야합니다.

를 사용하여 날짜 테이블에 고유 한 값을하는 방법을 알아야

샘플 코드 :이 코드에

IEnumerable<DataRow> query1 = 
          (from pmh in pshTable.AsEnumerable() 
          where 
          (pmh.Field<String>("DeletedType") != "D" && pmh.Field<String>("code").ToUpper() != "XXX.XX") 
          select pmh).OrderBy(a => a.Field<String>("Description")).Distinct(); 

내가 할 수있는 내가 단지 특정 열 "설명"값을 필요로 나누었다 별개의 행을 얻을 수 구별된다. 당신이 울부 짖는 소리 테이블이

+2

내 접근 방식의 왼쪽에, 대답은, 당신을 위해 그것을 마크를 작동하는 경우 내 대답은 Tik입니다, 그것을 확인하십시오 :) –

답변

1

당신은 예를 들어 원하는 것은 무엇 값 .. 알려 주시기 바랍니다 :

ID | Description 
---------------- 
1 | Test 
2 | Test 
3 | Sample 
4 | Sample 

당신이 특정 고유에 의해 싶어합니까? 예를 {{1,Test},{3,Sample}} or {{1,Test},{4,Sample}} 또는 ...에 대한

하지만 당신이 원하는 당신은 유사 할 GROUPBY 선택을 사용할 수 있습니다

 (from pmh in pshTable.AsEnumerable() 
            where 
            (pmh.Field<String>("DeletedType") != "D" 
            && pmh.Field<String>("code").ToUpper() != "XXX.XX") 
            select pmh).OrderBy(a => a.Field<String>("Description")) 
     .GroupBy(p=>p.Field<string>("Description")) 
     .Select(p=>p.FirstOrDefault()); 
+0

대단히 일하고 있습니다. – raja

관련 문제