2011-11-29 41 views
0

我有一個包含主鍵和行鍵列的表。數據如下所示。數據已經加載到一個集合的表中。如何使用LINQ創建總結報告

Primary Key Row Key 
01000100001 000001 - Subject ID=1, Book ID=1, Chapter ID=1 and Page ID=1 
01000100001 000002 - Subject ID=1, Book ID=1, Chapter ID=1 and Page ID=2 
01000100001 000003 - Subject ID=1, Book ID=1, Chapter ID=1 and Page ID=3 
01000100002 000004 - Subject ID=1, Book ID=1, Chapter ID=2 and Page ID=4 
01000100002 000005 - Subject ID=1, Book ID=1, Chapter ID=2 and Page ID=5 
01000100002 000006 - Subject ID=1, Book ID=1, Chapter ID=2 and Page ID=6 
01000200003 000007 - Subject ID=1, Book ID=2, Chapter ID=3 and Page ID=7 
01000200003 000008 - Subject ID=1, Book ID=2, Chapter ID=3 and Page ID=8 
02000300004 000009 - Subject ID=2, Book ID=3, Chapter ID=4 and Page ID=9 
02000300005 000010 - Subject ID=2, Book ID=3, Chapter ID=5 and Page ID=10 

集合類被稱爲網頁,幷包含一個名爲PrimaryKey的列,其由以下組成:

2 column Subject ID 
4 column Book ID 
4 column Chapter ID 

我需要創建一個報告,看起來像下面我想知道 如何以及如何使用LINQ創建查詢。

Subject Books Chapters  Pages 

01   2   3   8 
02   1   2   2 

有關我如何做到這一點的任何建議將不勝感激。

回答

2

您可以通過使用組和功能LINQ查詢會是這個樣子:

from page in pages 
group page by new { 
        page.subjectId 
        , page.bookId 
        , page.chapterId 
       } into group 
select new { 
      group.key.SubjectId 
      , group.key.bookId 
      , group.Key.chapterId 
      , total = pages.sum(s => s.Page) 
} 

對不起,我沒有可用的Visual Studio的權利,但是這應該給你一個不錯的開始。

+0

歡迎來到StackOverflow - 這是您的第一個upvote :) –

0

如果報告變得越來越複雜,只需在SQL服務器中創建一個視圖並使用LINQ讀取視圖 - 這會更容易!

+0

我正在使用Windows Azure Table存儲。不相關:-( –