使用lambda表达式和VB.Net筛选where子句中包含多列的datatable

使用lambda表达式和VB.Net筛选where子句中包含多列的datatable,vb.net,lambda,Vb.net,Lambda,我想用多种条件过滤我的数据表,如何使用Lambda表达式和VB.Net实现我的示例代码如下 Dim resultStyle = invData.Tables(0).AsEnumerable() _ .Where(Function(m) m.Field(Of Integer?)("InstitutionalInvestorStyleID").HasValue ) _ .GroupBy(Function(v) New

我想用多种条件过滤我的数据表,如何使用Lambda表达式和VB.Net实现我的示例代码如下

Dim resultStyle = invData.Tables(0).AsEnumerable() _
                              .Where(Function(m) m.Field(Of Integer?)("InstitutionalInvestorStyleID").HasValue ) _
            .GroupBy(Function(v) New With {Key .InvestorStyleID = v.Field(Of Integer)("InstitutionalInvestorStyleID"), Key .StyleName = v.Field(Of String)("InstitutionalInvestorStyleName")}) _
            .Select(Function(v) New With {Key .InvestorStyleID = v.Key.InvestorStyleID, Key .StyleName = v.Key.StyleName, Key .Sum = v.Sum(Function(r) Double.Parse(r.Item("k001ICGeo").ToString()))})

我只想选择那些“InstitutionalInvestorStyleID”不等于null且带有其他列的数据(Styleid列可以是多个样式id)

您的问题是什么?运行当前代码时会发生什么情况?我得到了期望的结果,但在where条件下,我想再添加一个条件,该条件应根据数据集中的styleid字段给出结果。样式id也可以是多个id。希望我清楚。我不完全理解你的意思,但在lambda条件下,你可以这样做:
list.Where(Function(x)x.condition1和also x.condition2)