我现在拥有的是:
Dim users = From users In tempTable _
Distinct Select users.Item("s_userid")
Dim usersCount As Integer = users.Count
但我很确定我不应该这样做。我应该能够从第一个linq查询中获取计数。我错过了什么?
答案 0 :(得分:2)
Dim userCount = (From users In tempTable _
Distinct Select users.Item("s_userid")).Count
答案 1 :(得分:2)
Dim distinctUserCount = (From users In tempTable
Let UserID = CInt(users.Item("s_userid"))
Select UserID).Distinct.Count
另一种方法是通过UserID-Column对DataRows进行分组:
distinctUserCount = (From users In tempTable
Let UserID = CInt(users("s_userid"))
Group users By UserID Into Group).Count
“原生”ADO.NET方法:
Dim view = new DataView(tempTable)
Dim TblDistinctUsers = view.ToTable(true, "s_userid")
distinctUserCount = TblDistinctUsers.Rows.Count
http://msdn.microsoft.com/en-us/library/wec2b2e6%28v=vs.100%29.aspx