QueryBuilder Klass

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).

Konstruktor

QueryBuilder(table: str)

Parametrar

Name Description
table
Obligatorisk
str

Tabellschemanamn som ska frågas.

Exempel

Fristående frågekonstruktion:


   from PowerPlatform.Dataverse.models import col

   query = (QueryBuilder("account")
            .select("name")
            .where(col("statecode") == 0)
            .top(10))
   params = query.build()
   # {"table": "account", "select": ["name"],
   #  "filter": "statecode eq 0", "top": 10}

Metoder

execute

Kör frågan och returnera resultat.

Returnerar en QueryResult med alla sidor insamlade. Använd execute_pages för lat iteration per sida.

Den här metoden är endast tillgänglig när QueryBuilder skapades via client.query.builder(table). Fristående QueryBuilder instanser bör använda build() för att hämta parametrar och skicka dem till client.records.list() manuellt.

Minst en av select(), , eller top() måste anropas före execute(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Inaktuell sedan version:by_page parametern är inaktuell. Använd execute_pages för lat iteration per sida eller oformaterad execute() (ingen flagga) för standardresultatet.

Example:


   from PowerPlatform.Dataverse.models import col

   for record in (client.query.builder("account")
                  .select("name")
                  .where(col("statecode") == 0)
                  .execute()):
       print(record["name"])
execute_pages

Ge lättja en QueryResult per HTTP-sida.

Varje iteration utlöser en nätverksbegäran via @odata.nextLink. One-shot – iterera inte mer än en gång.

Minst en av select(), , eller top() måste anropas före execute_pages(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Example:


   from PowerPlatform.Dataverse.models import col

   for page in (client.query.builder("account")
                .select("name")
                .where(col("statecode") == 0)
                .execute_pages()):
       process(page.to_dataframe())
to_dataframe

Kör frågan och returnera resultat som en Pandas DataFrame.

Inaktuell sedan version Använd:QueryBuilder.execute().to_dataframe() Istället. QueryBuilder.to_dataframe() tas bort i en framtida version.

Alla sidor konsolideras till en enda DataFrame.

Den här metoden är endast tillgänglig när QueryBuilder skapades via client.query.builder(table).

Minst en av select(), , eller top() måste anropas före to_dataframe(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Example:


   from PowerPlatform.Dataverse.models import col

   df = (client.query.builder("account")
         .select("name", "telephone1")
         .where(col("statecode") == 0)
         .top(100)
         .execute()
         .to_dataframe())

execute

Kör frågan och returnera resultat.

Returnerar en QueryResult med alla sidor insamlade. Använd execute_pages för lat iteration per sida.

Den här metoden är endast tillgänglig när QueryBuilder skapades via client.query.builder(table). Fristående QueryBuilder instanser bör använda build() för att hämta parametrar och skicka dem till client.records.list() manuellt.

Minst en av select(), , eller top() måste anropas före execute(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Inaktuell sedan version:by_page parametern är inaktuell. Använd execute_pages för lat iteration per sida eller oformaterad execute() (ingen flagga) för standardresultatet.

Example:


   from PowerPlatform.Dataverse.models import col

   for record in (client.query.builder("account")
                  .select("name")
                  .where(col("statecode") == 0)
                  .execute()):
       print(record["name"])
execute(*, by_page=<object object>) -> QueryResult | Iterator[QueryResult]

Keyword-Only parametrar

Name Description
by_page
Standardvärde: <object object at 0x0000021A213288E0>

Returer

Typ Description

QueryResultmed alla sidor insamlade (standard) eller sid iterator (inaktuell ).by_page=True

Undantag

Typ Description

Om ingen selectwheretop begränsning har angetts.

Om frågan inte har skapats via client.query.builder()

execute_pages

Ge lättja en QueryResult per HTTP-sida.

Varje iteration utlöser en nätverksbegäran via @odata.nextLink. One-shot – iterera inte mer än en gång.

Minst en av select(), , eller top() måste anropas före execute_pages(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Example:


   from PowerPlatform.Dataverse.models import col

   for page in (client.query.builder("account")
                .select("name")
                .where(col("statecode") == 0)
                .execute_pages()):
       process(page.to_dataframe())
execute_pages() -> Iterator[QueryResult]

Returer

Typ Description

Iterator för per sida QueryResult.

Undantag

Typ Description

Om ingen selectwheretop begränsning har angetts.

Om frågan inte har skapats via client.query.builder()

to_dataframe

Kör frågan och returnera resultat som en Pandas DataFrame.

Inaktuell sedan version Använd:QueryBuilder.execute().to_dataframe() Istället. QueryBuilder.to_dataframe() tas bort i en framtida version.

Alla sidor konsolideras till en enda DataFrame.

Den här metoden är endast tillgänglig när QueryBuilder skapades via client.query.builder(table).

Minst en av select(), , eller top() måste anropas före to_dataframe(). Annars aktiveras en ValueError för att förhindra oavsiktliga genomsökningar where()av fullständiga tabeller.

Example:


   from PowerPlatform.Dataverse.models import col

   df = (client.query.builder("account")
         .select("name", "telephone1")
         .where(col("statecode") == 0)
         .top(100)
         .execute()
         .to_dataframe())
to_dataframe() -> DataFrame

Returer

Typ Description

DataFrame som innehåller alla matchande poster. Returnerar en tom DataFrame när inga poster matchar.

Undantag

Typ Description

Om ingen selectwheretop begränsning har angetts.

Om frågan inte har skapats via client.query.builder()