如何使用LINQ执行计数?

时间:2014-12-22 13:54:54

标签: sql-server vb.net linq-to-sql

我正在使用SQL服务器,在我的程序中,我目前正在使用这样的计数:

Function NumberOfApplications(inCandidateID As Integer) As Integer

        Dim iCount As Integer = 0

        Dim oApplication As DataModels.Application
        For Each oApplication In Me.Applications
            If oApplication.CandidateID = inCandidateID Then
                iCount = iCount + 1
            End If
        Next
        Return iCount
    End Function

我创建了我的实体并购买了正确的Imports但我需要知道如何使用LINQ和VB执行计数。如您所见,我正在使用候选ID进行计数。任何帮助,将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

正如@Pleun所提到的,你可以使用Count方法,但方法本身有一个谓词选项,所以你可以使用:

return Me.Applications.Count(app => app.CandidateID == inCandidateID);

在C#中。我总是要努力思考VB中的样子,这就是我大脑告诉我的。但编译器migt不同意;):

Return Me.Applications.Count(Function(app) app.CandidateID = inCandidateID)

答案 1 :(得分:0)

如果你更喜欢类似sql的语法,你也可以这样做:

Function NumberOfApplications(inCandidateID As Integer) As Integer   

    Return (From app As DataModels.Application In Me.Applications
            Where app.CandidateID = inCandidateID).Count

End Function