Subsonic 亚音速采集

Subsonic 亚音速采集,subsonic,Subsonic,我编写这段代码是为了生成一个集合。我试着用亚音速过滤这个集合,但它不起作用。实际上,where子句将在用户输入时更改,因此我无法将where子句添加到sqlquery中,并且datatable将根据用户输入使用集合中的不同数据填充。我怎样才能做到这一点。我还希望集合保持不变,以便进一步使用它来使用另一个where子句进行筛选。我只选择了两列,但所有列都显示出来了。请帮忙 Dim sq As SB.SqlQuery = New SB.Select("product.prodcode as 'Pro

我编写这段代码是为了生成一个集合。我试着用亚音速过滤这个集合,但它不起作用。实际上,where子句将在用户输入时更改,因此我无法将where子句添加到sqlquery中,并且datatable将根据用户输入使用集合中的不同数据填充。我怎样才能做到这一点。我还希望集合保持不变,以便进一步使用它来使用另一个where子句进行筛选。我只选择了两列,但所有列都显示出来了。请帮忙

Dim sq As SB.SqlQuery = New SB.Select("product.prodcode as 'Product Code'").From(DB.Product.Schema)
Dim wh As SB.Where = New SB.Where()
Dim prod As DB.ProductCollection = sq.ExecuteAsCollection(Of DB.ProductCollection)()

wh.ColumnName = DB.Product.ServiceColumn.PropertyName
wh.Comparison = SubSonic.Comparison.NotEquals
wh.ParameterValue = System.Decimal.One

Dim tab As DataTable = prod.Where(wh).Filter().ToDataTable()
Me.GridControl1.DataSource = tab

您所做的事情没有多大意义-where需要进入查询,然后点击数据库-这是它应该工作的方式。如果您想在事后进行筛选,可以使用Linq的Where(),它将为您筛选列表。

但我没有使用Linq。我正在使用.NET2.0。如何使用Where()过滤集合或数据集,并让DB对其进行过滤。如果这不适合你,那就手工过滤你的收藏。如果这对您不起作用,那么您将需要一个不同的平台。请查看此处使用亚音速的Where()的示例: