none
Dúvida em LINQ to Entity RRS feed

  • Pergunta

  • Minha dúvida é a seguinte: tem como buscar um nome no banco de dados utilizando apenas a primeira letra do nome da pessoa? Sei que é uma dúvida bem básica, mas estou aprendendo sobre LINQ há pouco tempo.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    segunda-feira, 5 de maio de 2014 01:03

Respostas

  • Tem sim ! Você pode usar o operador Contains ou Any, tudo depende da query que deseja se fosse por exemplo usando "Like"  veja como ficaria :

    Dim stringPrimeiraLetra As String = "D"
    
    from o in db.SuaTabela
        where o.SeuCampo.Contains(stringPrimeiraLetra)
        select o).ToList();

    Veja que crio uma string com a letra "D" e faço a busca usando Contains ou seja vai buscar tudo que contenha D

    • Marcado como Resposta Marcio_Nogueira segunda-feira, 5 de maio de 2014 11:53
    segunda-feira, 5 de maio de 2014 03:13
  • Veja essa Function que retorna uma coleção da tabela TesteEF que recebe como parametro uma string com a letra inicial, veja que basta passar na chamada a string que deseja :

    Public Function RetornaDados(ByVal primeiraLetra As String) As List(Of TesteEF)
    
            Dim db As New Contexto()
    
            Return (From o In db.TesteEF
                   Where o.Nome.StartsWith(primeiraLetra)
                   Select o).ToList()
    
        End Function
    Onde Contexto é a classe na qual eu herdo de DbContext...

    • Marcado como Resposta Marcio_Nogueira segunda-feira, 5 de maio de 2014 14:16
    segunda-feira, 5 de maio de 2014 13:05

Todas as Respostas

  • Tem sim ! Você pode usar o operador Contains ou Any, tudo depende da query que deseja se fosse por exemplo usando "Like"  veja como ficaria :

    Dim stringPrimeiraLetra As String = "D"
    
    from o in db.SuaTabela
        where o.SeuCampo.Contains(stringPrimeiraLetra)
        select o).ToList();

    Veja que crio uma string com a letra "D" e faço a busca usando Contains ou seja vai buscar tudo que contenha D

    • Marcado como Resposta Marcio_Nogueira segunda-feira, 5 de maio de 2014 11:53
    segunda-feira, 5 de maio de 2014 03:13
  • Muito obrigado pela ajuda, mas se fosse necessário mudar a primeira letra do nome da pessoa dinamicamente?

    Desde já agradeço a atenção.


    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    segunda-feira, 5 de maio de 2014 11:55
  • Veja essa Function que retorna uma coleção da tabela TesteEF que recebe como parametro uma string com a letra inicial, veja que basta passar na chamada a string que deseja :

    Public Function RetornaDados(ByVal primeiraLetra As String) As List(Of TesteEF)
    
            Dim db As New Contexto()
    
            Return (From o In db.TesteEF
                   Where o.Nome.StartsWith(primeiraLetra)
                   Select o).ToList()
    
        End Function
    Onde Contexto é a classe na qual eu herdo de DbContext...

    • Marcado como Resposta Marcio_Nogueira segunda-feira, 5 de maio de 2014 14:16
    segunda-feira, 5 de maio de 2014 13:05
  • Muito obrigado, tudo de bom.

    Atenciosamente, Marcio Nogueira Cardoso Pinto.

    segunda-feira, 5 de maio de 2014 14:16