我在数据表上有一个linq查询。我试图获得我以前的linq查询的计数。Linq计数行
Imports System.Data
Imports System.Linq
Sub TestThis()
Dim t As New testLinq
t.testLinqCount()
End Sub
Class testLinq
Sub testLinqCount()
'create new datatable
Dim myQbCustTable As New DataTable
For i As Integer = 1 To 5
Dim col As New DataColumn
myQbCustTable.Columns.Add(col)
Next
'add rows
For i As Integer = 1 To 5
Dim rw As DataRow = myQbCustTable.NewRow
rw.Item(1) = 1200 + i
myQbCustTable.Rows.Add(rw)
Next
'linq query
Dim CustBalQuery = From Cust In myQbCustTable _
Select CustomerID = Cust.Item(1), _
CustQBName = Cust.Item(2), _
CustBal = Cust.Item(3) _
Order By CustomerID
'get count
Dim ct As Integer = CustBalQuery.Count() '<error here
End Sub
End Class
你能告诉我如何获得一个CustBalQuery的计数?我试过CustBalQuery.Count()
并得到这个错误:找不到'OrderedEnumerableRowCollection(Of VB,AnonymousType_7(Of Object,Object,Object)')类型的公共成员'Count'。
总结客户ID对我来说看起来很奇怪。我期望'CustBalQuery.Count()'是你想要的... – 2014-10-20 07:21:30
@JonSkeet请参阅编辑后的错误消息 – 2014-10-20 07:31:43
你有没有导入System.Linq?请注意,我建议Count()而不是计数...它可能不会给与VB的隐式括号和不区分大小写的差异,但我仍然尝试以我建议的方式... – 2014-10-20 07:43:58