2012-04-02 109 views
1

我正在嘗試,並且迄今沒有成功通過組聲明進行查詢。查詢與羣組通過

我有一個表與不同類型的活動(tblExcursion)和一個表與計劃(tblReservationDetail)。在tblExcursion中,我有一個'GroupName'列。在一個GroupName下有多個活動(例如皮划艇,帆船,waterpolo是groupname Watersports)。

現在我想檢索每個GroupName(不是每個活動/遊覽!)的參與者數量。由GroupName

var vAllExcursions = (from oExcursion in clsApplication._oDBConnection.tblExcursions 
         select oExcursion).ToList(); 

foreach (tblExcursion EXitem in vAllExcursions) 
{ 
    var vAllExcursionsPerType = (from oReservationDetail in clsApplication._oDBConnection.tblReservationDetails 
             where oReservationDetail.StartTime.Date.Year == this.cboYear.getSelectedID() 
             && oReservationDetail.StartTime.Date.Month == this.cboMonth.getSelectedID() 
             && oReservationDetail.ExcursionID == EXitem.ID 
             select oReservationDetail).ToList(); 
} 

Here I fill my datagrid 

回答

1

你要組:但是我不跟.GroupBy()或組到達那裏......通過

這是我使用activityname而不是組名查詢獲得各組:

var vAllExcursions = clsApplication._oDBConnection.tblExcursions 
    .GroupBy(ex => ex.GroupName) 
    .ToList(); 

然後在你的內循環,通過檢查發現任何相關的保留,如果ExcursionID與組相關聯的列表中的任何ID匹配:

foreach (var EXitemGroup in vAllExcursions) 
{ 
    var excursionIds = EXitemGroup.Select (exg => exg.ID).ToArray(); 
    ... 
     && excursionIds.Contains(oReservationDetail.ExcursionID) 
    ... 
} 
+0

我收到錯誤:本地序列不能用於除Contains運算符以外的查詢運算符的LINQ to SQL實現。 – bflydesign 2012-04-02 13:54:53

+0

啊。是的,我正在測試內聯數據列表,讓我測試SQL後端。 – mellamokb 2012-04-02 13:57:26

+0

查看更新,現在應該可以正確地工作於LINQ-to-SQL。 – mellamokb 2012-04-02 14:05:58