1
resposta

Usar AsParallel() na consulta linq direto no banco

Olá,

Sobre o AsParallel, foi usando depois que já trouxe a lista do context.tolist(), eu não posso usar o AsParellel() direto na consulta linq com o banco, por exemplo fiz isso no meu código:

context.Banco.AsParallel().Where(c => c.id == id).toList();

eu não posso fazer isso né, deu erro no meu código, dizendo referencia nulla. Estou usando o SQLCompact, aplicação windows forms.

1 resposta

Olá, Ezequiel.

O AsParallel é um método de extensão da biblioteca System.Linq.Parallel.

Ele atua em uma coleção e devolve um objeto do tipo System.Linq.ParallelQuery, onde usamos os próximos operadores do Linq (como Where, Select, etc) de forma paralela.

O método AsParallel não oferece suporte para o Linq para SQL. Antes de executar este operador, o Entity deve materializar a query e retornar os objetos.

Mas, ainda podemos contar com o ToListAsync diretamente no DbSet do EF, onde podemos dar um await.

Abs.