query_builder Modul

Fluent-frågeverktyget för att konstruera OData-frågor.

Tillhandahåller ett typsäkert, identifierbart gränssnitt för att skapa komplexa frågor mot Dataverse-tabeller med metodlänkning.

Exempel::

# 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())

Klasser

ExpandOption

Strukturerade alternativ för en $expand navigeringsegenskap.

Tillåter att kapslade $select, $filter, $orderbyoch $top alternativ för en enda navigeringsegenskap utökas enligt OData-syntaxen $expand .

Example:


   # 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-gränssnitt för att skapa och köra OData-frågor mot en synkroniseringsklient.

Tillhandahåller metodlänkning för att konstruera komplexa frågor med skrivbara filteruttryck. Kan användas fristående (via build()) eller bindas till en klient (via execute).

QueryParams

Skriven ordlista som returneras av QueryBuilder.build().

Tillhandahåller automatisk komplettering av IDE när byggresultat skickas till client.records.list() manuellt.