Supporto LINQ in NCache

Le applicazioni del mondo reale potrebbero spesso dover filtrare i dati anziché semplicemente eseguire una query per la chiave primaria. L'uso di LINQ semplifica il recupero dei dati dal database in base alla logica personalizzata utilizzata in fase di runtime. Perciò, NCache supporta l'esecuzione di query LINQ, che consente di eseguire query sulla cache distribuita nello stesso modo in cui si esegue una query sul database.

LINQ è un linguaggio di query .NET generico che consente di cercare e filtrare i dati dall'origine dati. La sintassi LINQ è abbastanza simile a SQL, ma in termini di funzionalità fornisce metodi di query migliori e più ottimizzati quando si eseguono query sul proprio computer. NCache server. Offre la possibilità di consentire espressioni di query più efficienti provvedendo al contempo al controllo della sintassi durante la compilazione del codice.

NCache integra perfettamente LINQ per interrogare le informazioni all'interno della cache tramite un provider LINQ. Il provider di collegamento facilita l'esecuzione di query LINQ sulla cache distribuita migliorando al contempo le prestazioni dell'applicazione senza modificare il modello a oggetti LINQ.

 

Espressioni di query supportate

NCache supporta le espressioni di query di base del linguaggio LINQ per cercare i dati della cache. Sono:

  • Espressioni Lambda: Le espressioni Lambda in un'equazione LINQ traducono la logica in fase di esecuzione in modo che possa trasmettere comodamente l'origine dati.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
  • Espressioni di query: Le espressioni di query interrogano e trasformano i dati dai server cache distribuita abilitati per LINQ.
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = from prod in products
                     where prod.UnitsInStock > 10
                     select prod;
 

Operatori LINQ

Gli operatori LINQ sono metodi di estensione che offrono funzionalità di query come proiezione, aggregazione, filtraggio e ordinamento. Tra questi operatori, NCache supporta quelli di seguito indicati:

  • Operatore di proiezione: proietta valori in base a una funzione di trasformazione. Il frammento di codice seguente mostra come utilizzare l'operatore di proiezione select per cercare i dati della cache.
  • IQueryable<Product> product = products.Select(prod => prod);
  • Operatore di restrizione: limita il set di risultati ai dati selezionati che soddisfano una condizione particolare. Questo frammento di codice ricerca nella cache tutti i prodotti le cui unità nell'ordine sono maggiori di 10.
  • IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
 

Operatori di query

NCache supporta gli operatori di query di base con query LINQ come:

  • Uguale a (==)
  • Non è uguale (!=)
  • Meno di (<)
  • Maggiore di (>)
  • Minore di uguale a (<=)
  • Maggiore di uguale a (>=)

Fare riferimento a Operatori di query LINQ per l'utilizzo di questi operatori.

 

Operatori logici

NCache supporta due operatori logici con LINQ: gli operatori AND (&&) e OR (||). Questi operatori combinano due o più criteri di restrizione per la ricerca nella cache. Segui la nostra guida su LINQ Operatori logici per capire nel dettaglio il loro utilizzo.

 

Operatori di aggregazione

NCache supporta i seguenti operatori di aggregazione:

  • Contare
  • Max
  • Min
  • Media
  • Somma

Di seguito è riportato un esempio di come utilizzare le funzioni aggregate per cercare i dati della cache e contare i risultati:

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

Comprendere l'utilizzo degli operatori aggregati in NCache dalla nostra guida in poi Operatori aggregati LINQ.

 

Operatori con caratteri jolly

NCache supporta più caratteri jolly nelle espressioni LINQ. Questi operatori jolly sono:

  • Inizia con
  • Finisce con
  • contiene
  • Equivale

Di seguito è riportato un esempio di utilizzo dei caratteri jolly con una restrizione in cui l'operatore cerca un set di dati specifico nella cache:

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

Fare riferimento alla nostra documentazione su Operatori con caratteri jolly LINQ per saperne di più.

 

Supporto LINQPad

LINQPad è uno strumento di terze parti utilizzato per interrogare in modo interattivo i database SQL utilizzando espressioni query e lambda e scrivere codici C# senza alcun IDE. NCache supporta l'integrazione perfetta con l'utilità LINQPad per migliorare l'analisi dei dati e le prestazioni delle applicazioni. Per elaborare le query in LINQPad, NCache Il provider LINQ utilizza il NCacheClasse Context, che è un'implementazione di .NET frameworkl'interfaccia IQueryable di.

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

L'esecuzione di questo script in LINQPad creerà un prodotto oggetto LINQ per eseguire query sui prodotti con UnitsInStock maggiore di 50.

LINQPad

Per saperne di più su come utilizzare LINQPad per interrogare i dati nella cache, segui la nostra documentazione su Interroga i dati nella cache con LINQPade per configurare LINQPad in NCache per te stesso, segui i passaggi forniti in Configura LINQPad per NCache.

Cosa fare dopo?

Review NCache Caratteristiche
Scaricare NCache
Richiedi una Demo LIVE personalizzata
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.