query_builder Modul

Fluent-Abfrage-Generator zum Erstellen von OData-Abfragen.

Stellt eine typsichere, auffindbare Schnittstelle zum Erstellen komplexer Abfragen für Dataverse-Tabellen mit Methodenverkettung bereit.

Beispiel::

# Via client (recommended) -- flat iteration over records
from PowerPlatform.Dataverse.models import col


for record in (client.query.builder("account")
               .select("name", "revenue")
               .where(col("statecode") == 0)
               .where(col("revenue") > 1_000_000)
               .order_by("revenue", descending=True)
               .top(100)
               .execute()):
    print(record["name"])


# With composable expression tree
from PowerPlatform.Dataverse.models import col, raw


for record in (client.query.builder("account")
               .select("name", "revenue")
               .where((col("statecode") == 0) | (col("statecode") == 1))
               .where(col("revenue") > 100000)
               .top(100)
               .execute()):
    print(record["name"])


# Lazy paged iteration (one QueryResult per HTTP page)
for page in (client.query.builder("account")
             .select("name")
             .execute_pages()):
    process_batch(page)


# Get results as a pandas DataFrame
df = (client.query.builder("account")
      .select("name", "telephone1")
      .where(col("statecode") == 0)
      .top(100)
      .execute()
      .to_dataframe())

Klassen

ExpandOption

Strukturierte Optionen für eine $expand Navigationseigenschaft.

Ermöglicht das Angeben von geschachtelten $select, $filter, $orderbyund $top Optionen für eine einzelne Navigationseigenschaftserweiterung, die auf die OData-Syntax $expand folgt.

Beispiel:


   # Expand Account_Tasks with nested options
   opt = (ExpandOption("Account_Tasks")
          .select("subject", "createdon")
          .filter("contains(subject,'Task')")
          .order_by("createdon", descending=True)
          .top(5))

   query = (client.query.builder("account")
            .select("name")
            .expand(opt)
            .execute())
QueryBuilder

Fluent-Schnittstelle zum Erstellen und Ausführen von OData-Abfragen für einen Synchronisierungsclient.

Stellt Methodenketten zum Erstellen komplexer Abfragen mit schreibbaren Filterausdrücken bereit. Kann eigenständig (via build()) verwendet werden oder an einen Client (via execute) gebunden werden.

QueryParams

Eingegebenes Wörterbuch, das von QueryBuilder.build().

Stellt IDE autovervollständigen bereit, wenn Buildergebnisse manuell übergeben werden client.records.list() .