2011-01-12 6 views
1

LINQ를 처음 사용합니다. 내가 DISTINCT 쿼리를하려고 할 때 Silverlight에서 사용하려고합니다. 내 Silverlight 응용 프로그램에서 사용자 지정 형식의 ObservableCollection을 반환하는 WCF 서비스를 ping합니다. 내 사용자 정의 유형의 여러 속성을 기반으로 DISTINCT 레코드 세트를 얻으려고합니다. 나는 첫 번째 단계는 내 레코드 세트를 얻는 것입니다 알고, 그래서ObservableCollection을 사용한 LINQ-ing

var filteredItems = (from entity in e.Result 
        select new FilteredItem 
        { 
         Property1 = entity.Property1, 
         Property2 = entity.Property2, 
         Property3 = entity.Property3 
        }).Distinct(); 

불행하게도,이 작동하지 않는 다음과 같은 노력하고있어. Intellisense는 "소스 유형 MyServiceProxy.MyCustomType에 대한 쿼리 패턴 구현을 찾을 수 없습니다. 선택하지 않았습니다 ..."ObservableCollection을 LINQ와 함께 사용하거나이 별개 세트를 어떻게 얻을 수 있습니까? 내가 보여?

감사합니다.

+0

, 나는 e.Result이 무엇인지 확인하기 위해이 행하기 전에 뭔가를 설정합니다. Console.WriteLine (e.Result.GetType(). ToString())과 같은 것; 그것이 당신에게 당신이 기대하는 것을주고 있는지보십시오. –

답변

7

ObservableCollection<T>IEnumerable<T>을 구현하므로 using System.Linq 인 경우이를 수행 할 수 있어야합니다. 모든 표준 LINQ 연산자는 해당 네임 스페이스에 있습니다. 그래도 작동하지 않으면 동일한 구현이 포함 된 어셈블리이므로 System.Core.dll을 참조하고 있는지 확인하십시오.

+3

Doh! 나는 System.LINQ 네임 스페이스를 제거했다. 그것을 다시 넣으면 효과가있었습니다. 감사! – user564042

관련 문제