Puoi farlo con i valori optional settati a nothing nella funzione, questo ti permetterà di costruire una query dinamica anche per più parametri, qualcosa di questo tipo:

codice:
Public Function ottieniID_Record_conLINQdinamico(Optional ByVal nome as string = Nothing, Optional ByVal cognome as string = Nothing, Optional ByVal sesso as string = Nothing) as List(of ClasseEntity)
    dim entities = dbContext.ClasseEntityDBSet 'prendi tutto il dbset

    If Not String.IsNullOrEmpty(nome) Then
        entities = entities.Where(.........)
    End If

    If Not String.IsNullOrEmpty(cognome) Then
        entities = entities.Where(.........)
    End If

    If Not String.IsNullOrEmpty(sesso) Then
        entities = entities.Where(.........)
    End If

    Return entities.ToList()
End Function