2009-11-03 84 views
0

我得到了下面的設置爲我的數據庫:亞音速2.1需要幫助C#

Category Table (Fields: CategoryID(PK), Title); 

Menu Table (Fields: MenuID(PK) CategoryID(FK), Title); 

Page Table (Fields PageID(PK), MenuID(FK), Title, Content, CreatedOn); 

現在對於一個頁面,我想知道一個特定類別多少頁成立。 我不知道如何使用SubSonic進行此類查詢。 我現在做它的方式是這樣的:

int count = 0; 
DAL.MenuCollection coll = new DAL.MenuCollection().WHERE(DAL.ObjectMenu.Columns.CategoryID, _catid); 

foreach(DAL.Menu item in coll) 
{ 

    DAL.PageCollection collTemp = new DAL.PageCollection().WHERE(DAL.Page.Columns.MenuID, _menuid); 
    count+= collTemp.Count; 

} 

這是可行的,但是是不是有更好的辦法在一個語句中寫?這看起來有點不好,我認爲,

我希望有人能指出我在正確的方向。 感謝您閱讀 親切關懷,s 馬克

回答

1

您需要一些連接,然後進行一些後期檢索工作。如果你想一次完成這個工作,用你需要知道的連接加載一個查詢,然後在其上滾動一個循環,按需要組織它。

這裏有更多的連接和一般查詢: http://www.subsonicproject.com/docs/Simple_Query_Tool

+0

因爲我不能比較來搶我只是補充我的回答爲註釋,你總是可以創建一個視圖,然後僅計算行數回 – RC1140 2009-11-03 12:49:07