Vb 中带有 IN 运算符的 LINQ 中的 Where 子句

Where Clause in LINQ with IN operator in Vb

获取某个人的详细信息'Adam'Sql查询

SELECT * FROM tableName WHERE Name = 'Adam'

Vb

中的 Linq 查询
From tableName In something Where row.Field(Of String)("name").Trim = "Adam"

但是要获取多人的详细信息'Adam','Chris'Sql查询

SELECT * FROM tableName WHERE Name IN ('Adam', 'Chris')

VB 中的 Linq 查询???

已编辑: VB 中的 Linq 查询是

From tableName In something Where {"Adam", "Chris"}.Contains(row.Field(Of String)("name").Trim)

Dim item= From tableName In something
               where {"Adam", "Chris" }.Contains(u.something)
               select i

试试这个代码

您应该使用 Enumerable.Contains,例如包含您要查找的值的数组:

Dim dt = New DataTable()
dt.Columns.Add("ID", GetType(Integer))
dt.Columns.Add("Name", GetType(String))
dt.Rows.Add(1, "John")
dt.Rows.Add(2, "Adam")
dt.Rows.Add(3, "Chris")

Dim values = {"Adam", "Chris"}
Dim results =
    From row In dt
    Where values.Contains(row.Field(Of String)("Name").Trim)
For Each row In results
    Console.WriteLine("{0} - {1}", row.Field(Of Integer)("ID"), row.Field(Of String)("Name"))
Next

输出:

2 - Adam
3 - Chris