우리는 rowData라는 페이지 클래스 모음을 가지고 있습니다. 이 클래스들을 PartitionKey
이라는 열의 하위 문자열로 그룹화해야합니다. 클래스 파티션 키의 일부를 LINQ와 그룹화하려면 어떻게해야합니까?
var a = from Page in rowData
group Page by new {
Page.PartitionKey.Substring(0,2),
Page.PartitionKey.Substring(2,6),
Page.PartitionKey.Substring(8)
} into group
select new {
group.key.SubjectId
, group.key.bookId
, group.Key.chapterId
, total = rowData.sum(s => s.Page)
};
우리는이 제안을 시도했지만 오류가 있습니다 :
Error 1 Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access.
사람이 우리가 잘못 무슨 일을하는지 어떤 생각을 가지고 있습니까?
보고서의 데이터를 만드는 것이 필요합니다. 데이터에는 각 주제에 대한 책, 장 및 페이지 수가 표시되어야합니다. Google 기록은 다음과 같습니다.
Primary key (columns 0-1 show the subject)
Primary key (columns 2-6 show the book ID)
Primary key (columns 8-12 show the chapter ID)
Row Key < there is a unique key for each row
따라서 기본 키와 행의 조합은 고유하며 단일 페이지를 나타냅니다. 우리는이 같은 모습보고해야 할이 예에서
010000100001
010000100001
010000100001
010000100002
010000100002
010000100002
010000200003
010000200003
020000300004
020000300005
: 여기
기본 키의 예Subject Books Chapters Pages
01 2 3 8
02 1 2 2
감사합니다. 예, 이제 총계 라인에서 실패합니다. 우리가 필요로하는 것은 각 주제에 대해 총 도서 수, 전체 챕터 수 및 총 페이지 수를 보여주는 보고서를 작성하는 것입니다. 필요한 것을 설명하기 위해 질문을 조금 더 업데이트했습니다. –
@ RichardM : 당신이 합치려고하는 것은 여전히 분명하지 않습니다. 실제로 그 그룹의 요소 수를 계산하고 싶습니까? 그렇다면'g.Count()'를 사용하십시오. –
죄송합니다. 나는 질문을 업데이트 할 정도로 명확하지 않았습니다. 나는 또한 예제를 추가 할 것이다. –