Metodo ExecuteReader
ExecuteReader(ComandoQuery, Booleano, Int32)
Esegue la ricerca nella cache in base alla query specificata. Restituisce un elenco di coppie chiave-valore in un lettore di dati che soddisfa i criteri di query. Questa coppia chiave-valore ha una chiave cache e il rispettivo valore. È possibile specificare il flag per specificare se si desiderano dati con chiavi.
Dichiarazione
ICacheReader ExecuteReader(QueryCommand queryCommand, bool getData = true, int chunkSize = -1)
parametri
Tipologia | Nome | Descrizione |
---|---|---|
QueryCommand | queryCommand | QueryCommand contenente testo e valori della query. |
System.Booleano | getData | Flag per indicare se i valori risultanti devono essere restituiti con le chiavi o meno. |
Sistema.Int32 | dimensione del pezzo | Dimensione dei pacchetti di dati/chiavi ricevuti dopo la ricerca, il valore predefinito è 512*1024 KB. |
Reso
Tipologia | Descrizione |
---|---|
ICacheReader | Legge il flusso di solo inoltro dei set di risultati della query eseguita nella cache. |
Commento
Questi operatori sono supportati da NCache Query.
- Operatori di confronto = , == , != , <> , < , > , <=, >=, IN
- Operatori logici AND , OR , NOT
- Varie () , DateTime.Now , DateTime ("qualsiasi stringa compatibile con data e ora")
Esempi
ICache cache = CacheManager.GetCache("demoCache");
Invece di Product, specifica il nome completo della tua classe personalizzata.
string query = "SELECT Product where this.ProductName = ?";
QueryCommand queryCommand = new QueryCommand(query);
queryCommand.Parameters.Add("ProductName", "Chai");
queryCommand.Parameters.Add("UnitsInStock", 250);
try
{
ICacheReader reader = cache.SearchService.ExecuteReader(queryCommand, true, 50);
if (reader.FieldCount > 0)
{
while (reader.Read())
{
object category = reader.GetValue<object>(0);
//perform operations
}
}
else
{
//perform operations
}
reader.Close();
}
catch
{
//handle exception
}