2012-04-16 92 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