2012-04-02 77 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