Suporte LINQ em NCache

Os aplicativos do mundo real podem frequentemente precisar filtrar dados em vez de simplesmente consultar a chave primária. O uso do LINQ facilita a recuperação de dados do seu banco de dados com base em qualquer lógica personalizada que você emprega em tempo de execução. Portanto, NCache oferece suporte à consulta LINQ, que permite consultar seu cache distribuído da mesma maneira que você consulta seu banco de dados.

LINQ é uma linguagem de consulta .NET genérica que permite pesquisar e filtrar dados de sua fonte de dados. A sintaxe do LINQ é bastante semelhante ao SQL, mas em funcionalidades fornece métodos de consulta melhores e mais otimizados ao consultar seu NCache servidores. Ele oferece a capacidade de permitir expressões de consulta mais eficientes, ao mesmo tempo que atende à verificação de sintaxe durante a compilação do código.

NCache integra perfeitamente o LINQ para consultar informações no cache por meio de um provedor LINQ. O provedor de link facilita a execução de consultas LINQ no cache distribuído enquanto melhora o desempenho do aplicativo sem alterar o modelo de objeto LINQ.

 

Expressões de consulta compatíveis

NCache dá suporte às expressões de consulta básicas da linguagem LINQ para pesquisar dados de cache. Eles estão:

  • Expressões lambda: As expressões lambda em uma equação LINQ traduzem a lógica em tempo de execução para que ela possa transmitir a fonte de dados de maneira conveniente.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
  • Expressões de consulta: As expressões de consulta consultam e transformam dados de seus servidores de cache distribuídos habilitados para LINQ.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = from prod in products
                     where prod.UnitsInStock > 10
                     select prod;
 

Operadores LINQ

Os operadores LINQ são métodos de extensão que oferecem recursos de consulta como projeção, agregação, filtragem e classificação. Entre esses operadores, NCache suporta os mencionados abaixo:

  • Operador de projeção: projeta valores com base em uma função de transformação. O trecho de código a seguir mostra como usar o operador de projeção select para pesquisar dados de cache.
  • IQueryable<Product> product = products.Select(prod => prod);
  • Operador de restrição: restringe o conjunto de resultados a dados selecionados que satisfaçam uma condição específica. Este snippet de código pesquisa no cache todos os produtos cujas unidades no pedido são maiores que 10.
  • IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
 

Operadores de consulta

NCache suporta operadores de consulta básicos com consultas LINQ como:

  • Igual (==)
  • Não é igual (!=)
  • Menor que (<)
  • Maior que (>)
  • Menor que igual a (<=)
  • Maior que igual a (>=)

Consulte Operadores de consulta LINQ para o uso desses operadores.

 

Operadores lógicos

NCache suporta dois operadores lógicos com LINQ - os operadores AND (&&) e OR (||). Estes operadores combinam dois ou mais critérios de restrição para a pesquisa de cache. Siga nosso guia sobre LINQ Operadores lógicos para entender seu uso em detalhes.

 

Operadores de agregação

NCache suporta os seguintes operadores de agregação:

  • Contar
  • Max
  • min
  • Média
  • Soma

A seguir está um exemplo de como usar funções agregadas para pesquisar dados de cache e contar os resultados:

int count = products.Select(p => p).Where(prod => prod.UnitsInStock <= 50).Count();

Entenda o uso de operadores agregados em NCache do nosso guia em Operadores agregados LINQ.

 

Operadores curinga

NCache dá suporte a vários curingas em expressões LINQ. Esses operadores curinga são:

  • Começa com
  • Termina com
  • contém
  • É igual a

A seguir está um exemplo de uso de curingas com restrição onde o operador procura um conjunto de dados específico no cache:

IQueryable<Product> product = products.Select(p => p).Where(p => p.ProductName.StartsWith("Be"));

Consulte nossa documentação em Operadores curinga LINQ para saber mais.

 

Suporte LINQPad

LINQPad é uma ferramenta de terceiros usada para consultar bancos de dados SQL interativamente usando expressões de consulta e lambda e escrever códigos C# sem qualquer IDE. NCache oferece suporte à integração perfeita com o utilitário LINQPad para melhorar a análise de dados e o desempenho do aplicativo. Para processar consultas no LINQPad, NCache O provedor LINQ usa o NCacheClasse de contexto, que é uma implementação do .NET frameworkinterface IQueryable do.

IQueryable<Product> product = new NCacheContext<Product>("myPartitionedCache");
IQueryable<Product> products = from prod in product
             where prod.UnitsInStock > 50
             select prod;
products.Dump();

A execução deste script no LINQPad criará um objeto LINQ produto para consultar os produtos com UnitsInStock maior que 50.

LINQPad

Para saber mais sobre como usar o LINQPad para consultar dados em cache, siga nossa documentação em Consultar dados em cache com LINQPade para configurar o LINQPad em NCache para si mesmo, siga as etapas fornecidas em Configurar o LINQPad para NCache.

O que fazer a seguir?

Avaliações NCache Funcionalidades
Baixar NCache
Solicite uma demonstração AO VIVO personalizada
© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.