Freigeben über


TableQuery<T> Klasse

  • java.lang.Object
    • com.microsoft.azure.storage.table.TableQuery<T>

Typparameter

T

Ein Klassentyp, der einen nullären Konstruktor implementiert TableEntity und enthält. Hinweis: Wenn Sie eine innere Klasse zum Definieren des Klassentyps verwenden, markieren Sie die Klasse als statisch.

public class TableQuery

Eine Klasse, die eine Abfrage für eine angegebene Tabelle darstellt. Ein TableQuery<T> instance aggregiert die Abfrageparameter, die beim Ausführen der Abfrage verwendet werden sollen. Eine der Methoden oder von CloudTableClient muss aufgerufen werden, um die Abfrage auszuführen. Die Parameter werden codiert und an den Server übergeben, wenn die Tabellenabfrage ausgeführt wird.

Um eine Tabellenabfrage mit fluent-Syntax zu erstellen, geben die from(final Class<T> clazzType) statische Factory-Methode und die where(final String filter)Methoden , select(final String[] columns)und take(final Integer take) Mutator jeweils einen Verweis auf das -Objekt zurück, der in einem einzelnen Ausdruck verkettet werden kann. Verwenden Sie die factory-Methode der from(Class) statischen Klasse, um eine instance zu erstellen, die für die benannte Tabelle mit Entitäten des angegebenen TableEntity Implementierungstyps ausgeführt wird. Verwenden Sie die where(final String filter) -Methode, um einen Filterausdruck für die zurückgegebenen Entitäten anzugeben. Verwenden Sie die select(final String[] columns) -Methode, um die zurückzugebenden Tabellenentitätseigenschaften anzugeben. Verwenden Sie die take(final Integer take) -Methode, um die Anzahl der von der Abfrage zurückgegebenen Entitäten zu begrenzen. Beachten Sie, dass nichts verhindert, dass diese Methoden mehrmals auf einem aufgerufen werden, sodass die in gespeicherten Werte die zuletzt in der Reihenfolge der Ausführung gefundene sind.

Als Beispiel könnten Sie eine Tabellenabfrage mit fluent-Syntax erstellen:

In diesem Beispiel wird eine Abfrage für die Tabelle "Products" für alle Entitäten erstellt, bei denen der PartitionKey-Wert "ProductsMNO" und der RowKey-Wert größer oder gleich "Napkin" ist, und fordert die ersten 25 übereinstimmenden Entitäten an, wobei nur die allgemeinen Eigenschaften und die Eigenschaft mit dem Namen "InventoryCount" ausgewählt und als DynamicTableEntity Objekte zurückgegeben werden.

Filterausdrücke für die Verwendung mit der -Methode oder setFilterString(final String filterString) -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken.

Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema Abfragen von Tabellen und Entitäten ausführlicher erläutert. Beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage geschieht.

Die TableQuery#TableQuery(Class) Konstruktor- und TableQuery#from(Class) statischen Factorymethoden erfordern einen Klassentyp, der einen Nullary-Konstruktor implementiert TableEntity und enthält. Wenn die Abfrage mit einem EntityResolver<T>ausgeführt wird, kann der Aufrufer als Klassentyp angeben TableServiceEntity .

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
TableQuery()

Initialisiert eine leere TableQuery<T> instance. Diese Tabellenabfrage kann nicht ausgeführt werden, ohne einen Tabellenentitätstyp festzulegen.

TableQuery(final Class<T> clazzType)

Initialisiert eine TableQuery<T> mit dem angegebenen Tabellenentitätstyp. Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
String combineFilters(String filterA, String operator, String filterB)

Erstellt eine Filterbedingung mithilfe des angegebenen logischen Operators für zwei Filterbedingungen.

static<T extends TableEntity> TableQuery<T> from(final Class<T> clazzType)

Eine statische Factorymethode, die eine TableQuery<T> instance erstellt und ihren Tabellenentitätstyp definiert. Die -Methode gibt den TableQuery<T> instance-Verweis zurück, sodass zusätzliche Methoden verkettet werden können, um die Abfrage zu ändern.

Der erstellte TableQuery<T> instance ist spezialisiert auf Tabellenentitäten des angegebenen Klassentyps T. Aufrufer können als Klassentypparameter angebenTableServiceEntity, wenn kein speziellerer Typ erforderlich ist.

String generateFilterCondition(String propertyName, String operation, final boolean value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der wie im folgenden Beispiel als boolescher Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final byte[] value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final Byte[] value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final Date value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der als datetime-Wert formatiert ist, wie im folgenden Beispiel dargestellt:

Diese Anweisung legt etwa den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final double value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Double-Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final int value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final long value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final String value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Zeichenfolgenwert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, final UUID value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als UUID-Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

String generateFilterCondition(String propertyName, String operation, String value, EdmType edmType)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als angegebenen EdmTypeformatierten Wert zu vergleichen.

UriQueryBuilder generateQueryBuilder()

Für die interne Verwendung reserviert. Erstellt ein UriQueryBuilder Objekt, das die Tabellenabfrage darstellt.

Class<T> getClazzType()

Ruft den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten ab.

String [] getColumns()

Ruft ein Array der In der Tabellenabfrage angegebenen Namen der Tabellenentitätseigenschaft ab. Alle Eigenschaften in der Tabelle werden standardmäßig zurückgegeben, wenn keine Eigenschaftennamen mit einer select-Klausel in der Tabellenabfrage angegeben werden. Die zurückzugebenden Tabellenentitätseigenschaften können mit einem Aufruf der setColumns(final String[] columns) -Methode oder select(final String[] columns) mit einem Array von Eigenschaftennamen als Parameter angegeben werden.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

String getFilterString()

Ruft den in der Tabellenabfrage angegebenen Filterausdruck ab. Alle Entitäten in der Tabelle werden standardmäßig zurückgegeben, wenn in der Tabellenabfrage kein Filterausdruck angegeben ist. Ein Filter für die zurückzugebenden Entitäten kann mit einem Aufruf der setFilterString(final String filterString) -Methode oder where(final String filter) angegeben werden.

String getSourceTableName()

Ruft den Namen der Quelltabelle ab, die in der Tabellenabfrage angegeben ist.

Integer getTakeCount()

Ruft die Anzahl der Von der Abfrage zurückgegebenen Entitäten ab, die in der Tabellenabfrage angegeben ist. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden maximal 1.000 Einträge zurückgegeben. Die Anzahl der zurückzugebenden Entitäten kann mit einem Aufruf der setTakeCount(final Integer takeCount) -Methode oder take(final Integer take) angegeben werden.

Wenn der von zurückgegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

TableQuery<T> select(final String[] columns)

Definiert die Eigenschaftsnamen der Tabellenentitätseigenschaften, die bei Ausführung der Tabellenabfrage zurückgegeben werden sollen. Die -Klausel ist optional für eine Tabellenabfrage, die verwendet wird, um die vom Server zurückgegebenen Tabelleneigenschaften zu begrenzen. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

void setClazzType(final Class<T> clazzType)

Legt den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten fest. Zum Ausführen einer Tabellenabfrage ist ein Klassentyp erforderlich.

Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.

void setColumns(final String[] columns)

Legt die Eigenschaftennamen der Tabellenentitätseigenschaften fest, die zurückgegeben werden sollen, wenn die Tabellenabfrage ausgeführt wird. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

void setFilterString(final String filterString)

Legt den Filterausdruck fest, der in der Tabellenabfrage verwendet werden soll. Ein Filterausdruck ist optional. Standardmäßig gibt eine Tabellenabfrage alle Entitäten in der Tabelle zurück.

Filterausdrücke für die Verwendung mit der -Methode können mithilfe der setFilterString(final String filterString) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:

Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.

Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.

Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.

void setSourceTableName(final String sourceTableName)

Legt den Namen der Quelltabelle für die Tabellenabfrage fest. Eine Tabellenabfrage muss über eine Quelltabelle verfügen, die ausgeführt werden soll.

void setTakeCount(final Integer takeCount)

Legt die Obergrenze für die Anzahl von Entitäten fest, die die Abfrage zurückgibt. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.

Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

TableQuery<T> take(final Integer take)

Definiert die obere Grenze für die Anzahl der Entitäten, die von der Abfrage zurückgegeben werden. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.

Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

TableQuery<T> where(final String filter)

Definiert einen Filterausdruck für die Tabellenabfrage. Nur Entitäten, die dem angegebenen Filterausdruck entsprechen, werden von der Abfrage zurückgegeben. Das Festlegen eines Filterausdrucks ist optional. Standardmäßig werden alle Entitäten in der Tabelle zurückgegeben, wenn kein Filterausdruck in der Tabellenabfrage angegeben ist.

Filterausdrücke für die Verwendung mit der -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:

Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.

Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.

Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.

Details zum Konstruktor

TableQuery

public TableQuery()

Initialisiert eine leere TableQuery<T> instance. Diese Tabellenabfrage kann nicht ausgeführt werden, ohne einen Tabellenentitätstyp festzulegen.

TableQuery

public TableQuery(final Class clazzType)

Initialisiert eine TableQuery<T> mit dem angegebenen Tabellenentitätstyp. Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.

Parameters:

clazzType - Der java.lang.Class der -Klasse T , die den Tabellenentitätstyp für die Abfrage darstellt. Die Klasse T muss ein Typ sein, der TableEntity implementiert und über einen Nullary-Konstruktor verfügt.

Details zur Methode

combineFilters

public static String combineFilters(String filterA, String operator, String filterB)

Erstellt eine Filterbedingung mithilfe des angegebenen logischen Operators für zwei Filterbedingungen.

Parameters:

filterA - Eine String , die die erste formatierte Filterbedingung angibt.
operator - EineString, die oder Operators.ORangibtOperators.AND.
filterB - Eine String , die die erste formatierte Filterbedingung angibt.

Returns:

Ein String , der den kombinierten Filterausdruck darstellt.

from

public static static TableQuery from(final Class clazzType)

Eine statische Factorymethode, die eine TableQuery<T> instance erstellt und ihren Tabellenentitätstyp definiert. Die -Methode gibt den TableQuery<T> instance-Verweis zurück, sodass zusätzliche Methoden verkettet werden können, um die Abfrage zu ändern.

Der erstellte TableQuery<T> instance ist spezialisiert auf Tabellenentitäten des angegebenen Klassentyps T. Aufrufer können als Klassentypparameter angebenTableServiceEntity, wenn kein speziellerer Typ erforderlich ist.

Parameters:

clazzType - Der java.lang.Class der -Klasse T , die die TableEntity Schnittstelle implementiert, die den Tabellenentitätstyp für die Abfrage darstellt.

Returns:

Der TableQuery<T> instance mit dem Entitätstypspezialisierungssatz.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final boolean value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der wie im folgenden Beispiel als boolescher Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein boolean , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final byte[] value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein byte Array, das den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final Byte[] value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als Binärwert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein Byte Array, das den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final Date value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem wert zu vergleichen, der als datetime-Wert formatiert ist, wie im folgenden Beispiel dargestellt:

Diese Anweisung legt etwa den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein java.util.Date , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final double value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Double-Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein double , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final int value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein int , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final long value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als numerischen Wert formatierten Wert zu vergleichen, wie im folgenden Beispiel gezeigt:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein long , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final String value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als Zeichenfolgenwert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein String , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, final UUID value)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge für einen Wert. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem Wert zu vergleichen, der wie im folgenden Beispiel als UUID-Wert formatiert ist:

Diese Anweisung legt den folgenden Wert fest:

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein UUID , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateFilterCondition

public static String generateFilterCondition(String propertyName, String operation, String value, EdmType edmType)

Generiert eine Eigenschaftenfilterbedingungszeichenfolge. Erstellt eine formatierte Zeichenfolge, die in einem Filterausdruck verwendet werden soll, der den angegebenen Vorgang verwendet, um die Eigenschaft mit dem als angegebenen EdmTypeformatierten Wert zu vergleichen.

Parameters:

propertyName - Ein String , der den Namen der zu vergleichenden Eigenschaft angibt.
operation - Ein String , der den zu verwendenden Vergleichsoperator angibt.
value - Ein String , der den Wert angibt, der mit der -Eigenschaft verglichen werden soll.
edmType - Der EdmType , um den Wert als zu formatieren.

Returns:

Eine String , die die formatierte Filterbedingung darstellt.

generateQueryBuilder

protected UriQueryBuilder generateQueryBuilder()

Für die interne Verwendung reserviert. Erstellt ein UriQueryBuilder Objekt, das die Tabellenabfrage darstellt.

Returns:

Ein UriQueryBuilder Objekt, das die Tabellenabfrage darstellt.

Throws:

StorageException - , wenn beim Hinzufügen oder Codieren der Abfrageparameter ein Fehler auftritt.

getClazzType

public Class getClazzType()

Ruft den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten ab.

Returns:

Der java.lang.Class der -Klasse T , die den Tabellenentitätstyp für die Abfrage darstellt.

getColumns

public String [] getColumns()

Ruft ein Array der In der Tabellenabfrage angegebenen Namen der Tabellenentitätseigenschaft ab. Alle Eigenschaften in der Tabelle werden standardmäßig zurückgegeben, wenn keine Eigenschaftennamen mit einer select-Klausel in der Tabellenabfrage angegeben werden. Die zurückzugebenden Tabellenentitätseigenschaften können mit einem Aufruf der setColumns(final String[] columns) -Methode oder select(final String[] columns) mit einem Array von Eigenschaftennamen als Parameter angegeben werden.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

Returns:

Ein Array von String -Objekten, das die Eigenschaftennamen der Tabellenentitätseigenschaften darstellt, die in der Abfrage zurückgegeben werden sollen.

getFilterString

public String getFilterString()

Ruft den in der Tabellenabfrage angegebenen Filterausdruck ab. Alle Entitäten in der Tabelle werden standardmäßig zurückgegeben, wenn in der Tabellenabfrage kein Filterausdruck angegeben ist. Ein Filter für die zurückzugebenden Entitäten kann mit einem Aufruf der setFilterString(final String filterString) -Methode oder where(final String filter) angegeben werden.

Returns:

Ein String , der den in der Abfrage verwendeten Filterausdruck darstellt.

getSourceTableName

protected String getSourceTableName()

Ruft den Namen der Quelltabelle ab, die in der Tabellenabfrage angegeben ist.

Returns:

Ein String , der den Namen der Quelltabelle darstellt, die in der Abfrage verwendet wird.

getTakeCount

public Integer getTakeCount()

Ruft die Anzahl der Von der Abfrage zurückgegebenen Entitäten ab, die in der Tabellenabfrage angegeben ist. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden maximal 1.000 Einträge zurückgegeben. Die Anzahl der zurückzugebenden Entitäten kann mit einem Aufruf der setTakeCount(final Integer takeCount) -Methode oder take(final Integer take) angegeben werden.

Wenn der von zurückgegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

Returns:

Ein Integer , der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.

select

public TableQuery select(final String[] columns)

Definiert die Eigenschaftsnamen der Tabellenentitätseigenschaften, die bei Ausführung der Tabellenabfrage zurückgegeben werden sollen. Die -Klausel ist optional für eine Tabellenabfrage, die verwendet wird, um die vom Server zurückgegebenen Tabelleneigenschaften zu begrenzen. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

Parameters:

columns - Ein Array von String -Objekten, die die Eigenschaftennamen der Tabellenentitätseigenschaften angeben, die beim Ausführen der Abfrage zurückgegeben werden sollen.

Returns:

Ein Verweis auf die TableQuery<T> instance mit den zurückzugebenden Tabellenentitätseigenschaften.

setClazzType

public void setClazzType(final Class clazzType)

Legt den Klassentyp der von der Abfrage zurückgegebenen Tabellenentitäten fest. Zum Ausführen einer Tabellenabfrage ist ein Klassentyp erforderlich.

Aufrufer können als Klassentypparameter angeben TableServiceEntity , wenn kein spezieller Typ mehr erforderlich ist.

Parameters:

clazzType - Der java.lang.Class der -Klasse T , die den Tabellenentitätstyp für die Abfrage darstellt. Die Klasse T muss ein Typ sein, der TableEntity implementiert und über einen Nullary-Konstruktor verfügt.

setColumns

public void setColumns(final String[] columns)

Legt die Eigenschaftennamen der Tabellenentitätseigenschaften fest, die zurückgegeben werden sollen, wenn die Tabellenabfrage ausgeführt wird. Standardmäßig gibt eine Abfrage alle Eigenschaften aus der Tabellenentität zurück.

Beachten Sie, dass die Systemeigenschaften , und automatisch vom Tabellendienst angefordert werden, unabhängig davon, ob sie im TableQuery<T> angegeben sind oder nicht.

Parameters:

columns - Ein Array von String -Objekten, die die Eigenschaftennamen der Tabellenentitätseigenschaften angeben, die beim Ausführen der Abfrage zurückgegeben werden sollen.

setFilterString

public void setFilterString(final String filterString)

Legt den Filterausdruck fest, der in der Tabellenabfrage verwendet werden soll. Ein Filterausdruck ist optional. Standardmäßig gibt eine Tabellenabfrage alle Entitäten in der Tabelle zurück.

Filterausdrücke für die Verwendung mit der -Methode können mithilfe der setFilterString(final String filterString) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:

Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.

Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.

Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.

Parameters:

filterString - Ein String , der den filterausdruck darstellt, der in der Abfrage verwendet werden soll.

setSourceTableName

protected void setSourceTableName(final String sourceTableName)

Legt den Namen der Quelltabelle für die Tabellenabfrage fest. Eine Tabellenabfrage muss über eine Quelltabelle verfügen, die ausgeführt werden soll.

Parameters:

sourceTableName - Ein String , der den Namen der Quelltabelle angibt, die in der Abfrage verwendet werden soll.

setTakeCount

public void setTakeCount(final Integer takeCount)

Legt die Obergrenze für die Anzahl von Entitäten fest, die die Abfrage zurückgibt. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.

Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

Parameters:

takeCount - Ein Integer , der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.

take

public TableQuery take(final Integer take)

Definiert die obere Grenze für die Anzahl der Entitäten, die von der Abfrage zurückgegeben werden. Wenn dieser Wert in einer Tabellenabfrage nicht angegeben wird, werden standardmäßig maximal 1.000 Einträge zurückgegeben.

Wenn der für den Parameter angegebene Wert größer als 1.000 ist, löst die Abfrage bei ausführung einen aus StorageException .

Parameters:

take - Ein Integer , der die maximale Anzahl von Entitäten darstellt, die für die Tabellenabfrage zurückgegeben werden soll.

Returns:

Ein Verweis auf den TableQuery<T> instance mit der Anzahl der zurückzugebenden Entitäten.

where

public TableQuery where(final String filter)

Definiert einen Filterausdruck für die Tabellenabfrage. Nur Entitäten, die dem angegebenen Filterausdruck entsprechen, werden von der Abfrage zurückgegeben. Das Festlegen eines Filterausdrucks ist optional. Standardmäßig werden alle Entitäten in der Tabelle zurückgegeben, wenn kein Filterausdruck in der Tabellenabfrage angegeben ist.

Filterausdrücke für die Verwendung mit der -Methode können mithilfe der where(final String filter) fluent-Syntax mit den überladenen generateFilterCondition(String propertyName, String operation, final boolean value) Methoden und combineFilters(String filterA, String operator, String filterB) -Methoden erstellt werden, wobei die in QueryComparisons definierten Vergleichsoperatoren und die in Operatorsdefinierten logischen Operatoren verwendet werden. Beachten Sie, dass der erste Operand in einem Filtervergleich ein Eigenschaftsname und der zweite Operand als Konstante ausgewertet werden muss. Die PartitionKey- und RowKey-Eigenschaftswerte sind Typen zu Vergleichszwecken. Um beispielsweise alle Entitäten mit dem PartitionKey-Wert "AccessLogs" für die Tabellenabfrage abzufragen:

Die Werte, die in Tabellenabfragen verwendet werden können, werden im MSDN-Thema ausführlicher erläutert.

Abfragen von Tabellen und Entitäten, beachten Sie jedoch, dass die Leerzeichen innerhalb von Werten nicht URL-codiert werden müssen, da dies beim Ausführen der Abfrage erfolgt.

Beachten Sie, dass innerhalb einer Filterzeichenfolge nicht mehr als 15 diskrete Vergleiche zulässig sind.

Parameters:

filter - Ein String , der den Filterausdruck angibt, der auf die Tabellenabfrage angewendet werden soll.

Returns:

Ein Verweis auf den TableQuery<T> instance mit dem Filter für Entitäten, die zurückgegeben werden sollen.

Gilt für: