Methode ExecuteReader
ExecuteReader(Abfragebefehl, Boolesch, Int32)
Führt eine Suche im Cache basierend auf der angegebenen Abfrage durch. Gibt eine Liste von Schlüssel-Wert-Paaren in einem Datenleser zurück, die die Abfragekriterien erfüllen. Dieses Schlüssel-Wert-Paar verfügt über einen Cache-Schlüssel und seinen jeweiligen Wert. Sie können das Flag angeben, um anzugeben, ob Sie Daten mit Schlüsseln wünschen.
Erklärung
ICacheReader ExecuteReader(QueryCommand queryCommand, bool getData = true, int chunkSize = -1)
Parameter
Typ | Name und Vorname | Beschreibung |
---|---|---|
Abfragebefehl | queryCommand | Abfragebefehl mit Abfragetext und Werten. |
System.Boolean | Daten bekommen | Flag, um anzugeben, ob die Ergebniswerte mit Schlüsseln zurückgegeben werden müssen oder nicht. |
System.Int32 | stückgröße | Größe der nach der Suche empfangenen Daten-/Schlüsselpakete, Standardwert ist 512*1024 KB. |
Rücksendungen
Typ | Beschreibung |
---|---|
ICacheReader | Liest den Forward-Only-Stream von Resultsets der im Cache ausgeführten Abfrage. |
Bemerkungen
Diese Operatoren werden unterstützt von NCache Abfragen.
- Vergleichsoperatoren = , == , != , <> , < , > , <=, >=, IN
- Logische Operatoren AND , OR , NOT
- Verschiedenes () , DateTime.Now , DateTime("jeder mit Datum und Uhrzeit kompatible String")
Beispiele
ICache cache = CacheManager.GetCache("demoCache");
Geben Sie anstelle von Product den vollqualifizierten Namen Ihrer benutzerdefinierten Klasse an.
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
}