Subsonic 具有多个字符串的查询中的亚音速

Subsonic 具有多个字符串的查询中的亚音速,subsonic,Subsonic,我正在尝试使用包含多个字符串的IN语句执行亚音速查询。如果我手动硬编码字符串,它可以正常工作。例如: Dim qry As New [Select]("mySelectColumn") qry.From(table.Schema) qry.Where(table.Columns.mycolumn).In("string1", "string2", "string3") Hoever,我需要能够从VB中的单个变量中提取IN语句字符串,这将使最后一行看起来像: qry.Where(table.Co

我正在尝试使用包含多个字符串的IN语句执行亚音速查询。如果我手动硬编码字符串,它可以正常工作。例如:

Dim qry As New [Select]("mySelectColumn")
qry.From(table.Schema)
qry.Where(table.Columns.mycolumn).In("string1", "string2", "string3")
Hoever,我需要能够从VB中的单个变量中提取IN语句字符串,这将使最后一行看起来像:

qry.Where(table.Columns.mycolumn).In(combinedString)
但是,每当我尝试将这些字符串合并成一个VB字符串时,我都没有得到任何结果。我甚至不知道它到底要传递什么样的SQL。使用buildsqlstatement()只显示带有:mycolumn0In1、:mycolumn0In2、:mycolumn0In3的IN语句……我不知道它实际上在做什么

我对VB变量尝试了这些变化,但没有效果: mystring=“”mystring1”“”mystring2”“” mystring=“'mystring1'、'mystring2'”

有没有办法用VB和亚音速将多个字符串合并成一个IN子句?

一位同事向我指出,我最终找到了一个解决方案。我的问题是,我没有显式地将VB变量声明为arraylist。我只是简单地给它调暗,并给它分配一个函数的结果,该函数作为ArrayList返回

什么不起作用-getstrings()函数返回一个ArrayList:

Dim myarraylist = getstrings()
...
qry.Where(table.Columns.mycolumn).In(myarraylist)
什么有效:

Dim myarraylist as ArrayList = getstrings()
...
qry.Where(table.Columns.mycolumn).In(myarraylist)