LINQ To Datatable使用" Any"列表

时间:2014-07-24 20:17:03

标签: .net vb.net linq

好吧,我无法得到这个。我尝试使用where子句中的字符串列表遍历数据表,但我无法使其工作。

这就是我正在尝试的:

If d = "IN" Then
    lInOutStrings.Add("Parts in")
Else
    lInOutStrings.Add("Inventory")
    lInOutStrings.Add("Repairs")
End If

For Each part In (From u In dtParts.AsEnumerable() _
                  Where u.Field(Of String)("INVT_TYPE").Any(Function(s) u.Field(Of String)("INVT_TYPE").Contains(lInOutStrings.ToString))
                  Select New With {....}) 

      ...

Next

问题是查询总是不返回任何内容。我从LINQ: Entity string field contains any of an array of strings获得了什么,但我无法完成查询。我做错了什么?

我正在使用VB.Net 2010和.Net 4.0

1 个答案:

答案 0 :(得分:1)

反过来说,查看列表,而不是字符串(IEnumerable(Of Char)):

Dim query = From u In dtParts.AsEnumerable() 
            Where lInOutStrings.Contains(u.Field(Of String)("INVT_TYPE"))
            Select New With {....}