2012-04-16 144 views
1

任何一个可以为下面的C#LINQ查询提供vb.net相当于查询为C#LINQ查询Vb.net等效查询

var res= from volunteer in dtavailableVolunteers 
    group volunteer by volunteer.Id into g 
    let volunteerDates = g.Select(groupedElement=>groupedElement.date) 
    where arr.All(date=>volunteerDates.Contains(date)) 
    select g.Key 

我写了下面的查询,但它是扔“重载决策失败,因为没有进入“选择”可以用这些参数异常

Dim dr As DataRow() = From item In dtavailableVolunteers.AsEnumerable() _ 
Group item By item.VolunteerId Into g = Group 
          Let volunteerDates = g.[Select](Function(groupedElement) groupedElement.Field("SelectedDate")) _ 
          Where SelectedDatesArray.All(Function([SelectedDate]) volunteerDates.Contains([SelectedDate])) Select g 
+1

如果dtavailableVolunteers是(无类型的)DataTable,那么您的C#代码也不起作用。例如,DataRows没有'Id'属性。 – Heinzi 2012-04-16 12:37:35

回答

0

我只是将它转换从online conversion tool被称为..我不知道,如果它的正确。请测试它是否工作...

Dim res = _ 
    Let volunteerDates = g.[Select](Function(groupedElement) groupedElement.[date]) _ 
    Where arr.All(Function([date]) volunteerDates.Contains([date])) 
+0

不,这不是有用的。它在选择语句时抛出相同的异常 – chandramohan 2012-04-17 13:26:28