2012-01-25 2 views
0

은 내가 지금해야하는 것은 이것이다. 나는 그 첫 번째 linq 쿼리에서 카운트를 얻을 수 있어야합니다. 내가 뭘 놓치고 있니?linq의 쿼리 식에서 Count를 얻으려면 어떻게해야합니까?</p> <pre><code>Dim users = From users In tempTable _ Distinct Select users.Item("s_userid") Dim usersCount As Integer = users.Count </code></pre> <p>하지만 확신 내가 그렇게 할 필요가 없습니다 :

+0

tempTable.Rows.Count? tempTable 유형은 무엇입니까? 이것은 엔티티 프레임 워크/linq2sql 호출입니까? 작업 할 정보가 거의 없습니다. (@ Keith Nicholas - 동의합니다) – asawyer

+0

이 LINQ-To-Objects 또는 LINQ-To-SQL입니까? –

+0

테이블이 DataTable입니다. Entity Framework를 사용하고 있지 않습니다. 나는 이것이 Linq-To-Objects로 간주 될 것이라고 믿습니다. – dotnetN00b

답변

2
Dim distinctUserCount = (From users In tempTable 
        Let UserID = CInt(users.Item("s_userid")) 
        Select UserID).Distinct.Count 
또 다른 방법은 그룹에 사용자 ID-열을 기준으로 데이터 행 것이다

:

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

2
Dim userCount = (From users In tempTable _ 
      Distinct Select users.Item("s_userid")).Count 
+1

'선택 '뒤에'뚜렷한 '것이 더 좋지 않습니까? '(사용자로부터 tempTable 사용자 선택 .Item ("s_userid")). Distinct.Count' –