• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

TableServiceEntity 데이터의 Sort 문제.

기술자료/Web 2009. 12. 17. 11:05
이전 포스트에서 특정 데이터의 Query를 할 때 LINQ에서 제공하는 select 문자을 이용하여 아래와 같이 처리한 적이 있다.
var result = from g in this.context.AnalysisSumDataEntry
                       where g.PartitionKey == "AnalysisSumData"
                         select g;

그런데 일반적인 LINQ 방법으로 저 내용을 Sort를 하려면 아래와 같이 되는 줄 알았다.

var result = from g in this.context.AnalysisSumDataEntry
                       where g.PartitionKey == "AnalysisSumData"
                       orderby g.Count                       
                       select g;

굵게 해서 표시한 저 orderby를 사용하고, 실제 Sort 할 필드에 대해서 정의한 내용을 넣으려 했다.
( 참고로 AnalysisSumDataEntry 에는 Count와 Index 라는 int 형 프로퍼티를 가지고 있다. )

그런데, 위와 같이 처리하려고만 하면, 결과 값에 Exception 이 담겨 있어, toList 부터 ElementAt 까지 뭐든 메소드든 다 Exception을 뿜어버리고 만다. 즉 결과에 오류가 있다는 것이다.
혹시나 하는 마음에 orderby를 지우자 정상적으로 동작한다.
분명 숫자를 의미하는 int 형일텐데.... 라는 생각에 이런 저런 고민을 무럭 무럭 자랐다.

그래서 결국 편법을 택했고 그 방법은 아래와 같다.       
private IEnumerable<AnalysisSumDataEntry> SelectBase()
        {
            var result = from g in this.context.AnalysisSumDataEntry
                         where g.PartitionKey == "AnalysisSumData"
                         select g;
           
            return result;
        }

        public List<AnalysisSumDataEntry> Select()
        {
            IEnumerable<AnalysisSumDataEntry> result = SelectBase();
            List<AnalysisSumDataEntry> list = result.ToList<AnalysisSumDataEntry>();

            list.Sort(delegate(AnalysisSumDataEntry src, AnalysisSumDataEntry tgt)
            {
                return src.Count - tgt.Count;

            });

            return list;
        }

즉 Generic 에서 제공하는 List 템플릿에 때려 박고, 그 내용을 가지고 List의 Sort를 사용하여 Sort 해버렸다.
지금 방식대로 하면 Desending 즉 내림 차순이 되고 Asending 즉 오름 차순으로 하려면, 굵게 해 놓은 return 값의 식을 역순으로 바꾸면 된다. ( return tgt.Count - src.Count )

이게 답인지는 모르겠지만.. 현재로는 저렇게 밖에는....
아무래도 데이터 선언 방법 부터 차근 차근 LINQ를 따라가봐야 겠다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

친구 twi2me 좀 오류 WSS 인터파크 블로그 매뉴얼 개발환경 Buscuit 불만 e-book SharePoint me2dayzm windows 2010 지름신 Google Apps Engine Tutorial moss me2photo MOSS 2007 수 협업 것 Azure 비스킷 me2sms Visual Studio java

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바