none
Linq to entity dúvida sobre desempenho RRS feed

  • Pergunta

  • Olá amigos!

    Tenho uma dúvida sobre o desempenho do linq to entities. Com ADO.NET eu carregava um datatable em memória e fazia diversos filtros sem ter que buscar os dados no banco a cada consulta, O que seria equivalente em linq? Vi um exemplo no macoratti sobre trabalhar com linq to entities em 03 camadas, só que ele adiciona a referencia do projeto onde esta o modelo de entidades ou seja o arquivo edmx no projeto de interface, mas ai a interface teria acesso direto ao trtamento de dados não? Fiquei muitos anos no ado.net, eu percebi que linq to entities é uma mão na roda mas ainda não entendi como ele trabalha quando preciso deixar uma instancia em memória para manipulação. Desde já agradeço o apoio. 


    terça-feira, 27 de maio de 2014 01:13

Respostas

  • Olá Leandro,

      Ótimo começo usar LinqToSql ! Quando sai do ADO puro para o LinqToSql fiquei também meio receioso, mas basta fazer um projeto e você vai ver a diferença, todas as entidades prontas, basta fazer uma classe base legal que você faz o CRUDE com somente uma classe somente passando as entidades, bom não vou ficar falando das vantagens que você deve ter percebido que são muitas, mas voltando a sua questão ! 

       Com LinqToSql você pode sim deixar os dados carregados em memória usando um List<T> ou IEnumerable<T> e o ganho são as expressões que podem ser usadas ou seja, pode fazer um where e recuperar uma linha de sua tabela usando linq ou Lambda ! Pode fazer juncao, Agregação, ordenar do modo que quiser do item que desejar,tudo isso em memória e usando linq ou lambda que quando se acostuma fica muito simples de usar, bom agora voltando não deixe  de usar ADO puro não, pois tem umas SP, Views que com LinqToSql fica muito complicado fazer "nunca deixe de usar ADO", pois em meus projetos eu uso Entity Framework 6.1 que seria interessante você dar uma olhada também, algumas consultas meio "cabulosas" eu uso Stored Procedure mesmo com ADO, e sabendo mesclar os dois, fica muito bom em performance e em tempo de desenvolvimento. 

      Acho que é mais ou menos isso !

    terça-feira, 27 de maio de 2014 01:46