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
|
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 Minst en av
Inaktuell sedan version: Example:
|
| execute_pages |
Ge lättja en QueryResult per HTTP-sida. Varje iteration utlöser en nätverksbegäran via Minst en av Example:
|
| to_dataframe |
Kör frågan och returnera resultat som en Pandas DataFrame.
Inaktuell sedan version Använd: Alla sidor konsolideras till en enda DataFrame. Den här metoden är endast tillgänglig när QueryBuilder skapades via Minst en av Example:
|
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 ). |
Undantag
| Typ | Description |
|---|---|
|
Om ingen |
|
|
Om frågan inte har skapats via |
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 |
|
|
Om frågan inte har skapats via |
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 |
|
|
Om frågan inte har skapats via |