Compatibilidad con LINQ en NCache

Es posible que las aplicaciones del mundo real frecuentemente necesiten filtrar datos en lugar de simplemente consultar la clave principal. El uso de LINQ facilita la recuperación de datos de su base de datos en función de cualquier lógica personalizada que emplee en tiempo de ejecución. Por lo tanto, NCache admite consultas LINQ, que le permiten consultar su caché distribuida de la misma manera que consulta su base de datos.

LINQ es un lenguaje de consulta .NET genérico que le permite buscar y filtrar datos de su fuente de datos. La sintaxis de LINQ es bastante similar a SQL, pero en cuanto a funcionalidades, le proporciona métodos de consulta mejores y más optimizados al consultar su NCache servidores. Ofrece la capacidad de permitir expresiones de consulta más eficientes y al mismo tiempo atender la verificación de sintaxis durante la compilación del código.

NCache integra a la perfección LINQ para consultar información dentro de la memoria caché a través de un proveedor de LINQ. El proveedor de enlaces facilita la ejecución de consultas LINQ sobre la memoria caché distribuida mientras mejora el rendimiento de la aplicación sin cambiar el modelo de objetos LINQ.

 

Expresiones de consulta admitidas

NCache admite las expresiones de consulta básicas del lenguaje LINQ para buscar datos de caché. Ellos son:

  • Expresiones lambda: Las expresiones lambda en una ecuación LINQ traducen la lógica en tiempo de ejecución para que pueda transmitir la fuente de datos de manera conveniente.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
  • Expresiones de consulta: Las expresiones de consulta consultan y transforman datos de sus servidores de caché distribuida 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

Los operadores LINQ son métodos de extensión que ofrecen capacidades de consulta como proyección, agregación, filtrado y clasificación. Entre estos operadores, NCache admite los que se mencionan a continuación:

  • Operador de proyección: proyecta valores basados ​​en una función de transformación. El siguiente fragmento de código muestra cómo utilizar el operador de proyección de selección para buscar datos en caché.
  • IQueryable<Product> product = products.Select(prod => prod);
  • Operador de restricción: restringe el conjunto de resultados a los datos seleccionados que satisfacen una condición particular. Este fragmento de código busca en la memoria caché todos los productos cuyas unidades en pedido sean superiores a 10.
  • IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
 

Operadores de consulta

NCache admite operadores de consulta básicos con consultas LINQ como:

  • Igual (==)
  • No es igual a (!=)
  • Menos que (<)
  • mayor que (>)
  • Menor que igual a (<=)
  • Mayor que igual a (>=)

Consulte Operadores de consulta LINQ para el uso de estos operadores.

 

Operadores logicos

NCache admite dos operadores lógicos con LINQ: los operadores AND (&&) y OR (||). Estos operadores combinan dos o más criterios de restricción para la búsqueda de caché. Siga nuestra guía en LINQ Operadores logicos para entender su uso en detalle.

 

Operadores de agregación

NCache admite los siguientes operadores de agregación:

  • Contar
  • Max
  • Min
  • Normal
  • Suma

El siguiente es un ejemplo de cómo utilizar funciones agregadas para buscar datos de caché y contar los resultados:

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

Comprender el uso de operadores agregados en NCache de nuestra guía sobre Operadores agregados de LINQ.

 

Operadores comodín

NCache admite varios comodines en expresiones LINQ. Estos operadores comodín son:

  • Comienza con
  • Termina con
  • contiene
  • Equivale

El siguiente es un ejemplo del uso de comodines con una restricción donde el operador busca un conjunto de datos específico en la caché:

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

Consulte nuestra documentación sobre Operadores comodín de LINQ para saber mas.

 

Soporte LINQPad

LINQPad es una herramienta de terceros que se utiliza para consultar interactivamente bases de datos SQL mediante consultas y expresiones lambda y escribir códigos C# sin ningún IDE. NCache admite una integración perfecta con la utilidad LINQPad para mejorar el análisis de datos y el rendimiento de las aplicaciones. Para procesar consultas en LINQPad, NCache El proveedor de LINQ utiliza el NCacheClase de contexto, que es una implementación de la .NET frameworkLa interfaz IQueryable.

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

La ejecución de este script en LINQPad creará un producto de objeto LINQ para consultar los productos con UnitsInStock mayores que 50.

LINQ Pad

Para saber más sobre cómo usar LINQPad para consultar datos en caché, siga nuestra documentación en Consultar datos en caché con LINQPady configurar LINQPad en NCache usted mismo, siga los pasos proporcionados en Configurar LINQPad para NCache.

¿Qué hacer a continuación?

Revisar NCache Caracteristicas
Descargar NCache
Solicite una demostración EN VIVO personalizada
© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.