Web API クエリ データのサンプル (C#)
この .NET 6.0 サンプルでは、Dataverse Web API を使用して一般的なデータ演算を実行する方法を示します。
このサンプルでは、WebAPIService クラス ライブラリ (C#) の共通ヘルパー コードを使用します。
注意
このサンプルは、Dataverse 操作や Web API Query Data Sample のコンソール出力の詳細を実装し、Web API Samples (C#) で説明されている一般的な C# 構造を使用します。
前提条件
以下は、このサンプルの構築および実行に必要となります :
- Microsoft Visual Studio 2022。
- データ演算を実行する権限を使用して Dataverse にアクセスします。
このサンプルを実行する方法
PowerApps-サンプル リポジトリをクローンまたはダウンロードします。
/dataverse/webapi/C#-NETx/QueryData/ フォルダーを見つけます。
Visual Studio 2022 を使用して
QueryData.sln
ファイルを開きますappsettings.json
ファイルを編集して、以下のプロパティ値を設定します:Property 方法 Url
ご使用の環境の Url。 プレースホルダー https://yourorg.api.crm.dynamics.com
の値を環境の値に置き換えます。 詳細については、開発者向けリソースを表示する を参照してください。UserPrincipalName
プレースホルダー you@yourorg.onmicrosoft.com
の値を環境へのアクセスに使用する UPN の値に置き換えます。Password
プレースホルダー yourPassword
の値を使用するパスワードに置き換えます。appsettings.json
ファイルを保存しますF5 を押してサンプルを実行します。
コード
このサンプルのコードは次のとおりです: PowerApps-Samples/dataverse/webapi/C#-NETx/QueryData/Program.cs
実際の動作
このサンプルには 11 つのリージョンがあります:
セクション 0: クエリするレコードを作成
演算: 1 つの account
レコードと 9 つの関連する contact
レコードを作成します。 各 contact
には、関連する task
レコードが 3 つあります。
これは、このサンプルで使用されるデータです。
セクション 1 指定されたプロパティの選択
演算:
- 取引先担当者エンティティに対して
$select
を使用して、必要なプロパティを取得します。 - 注釈を含めると、
@OData.Community.Display.V1.FormattedValue
注釈を使用してフォーマットされた値にアクセスできます
セクション 2 クエリ関数の使用
演算:
- 標準クエリ関数 (
contains
、endswith
、startswith
) を使用して結果をフィルターします。 - Dataverse クエリ関数 (
LastXhours
、Last7Days
、Today
、Between
、In
) を使用します - フィルター演算子と論理演算子 (
eq
、ne
、gt
、and
、or
) を使用します - 括弧
((criteria1) and (criteria2)) or (criteria3)
を使用して優先順位を設定します
セクション 3 順序とエイリアス
演算:
$orderby
の使用$filter
と$orderby
でパラメータ化されたエイリアス (?@p1=fullname
) を使用します
セクション 4 結果の制限とカウント
演算:
$top
を使用して結果を制限します。$count
を使用してカウント値を取得します。
セクション 5 ページ割り付け
演算:
Prefer: odata.maxpagesize
の要求ヘッダーを使用して、返される行数を制限します。@odata.nextLink
注釈で返された URL を使用して、次のレコード セットを取得します。
セクション 6 結果の展開
演算:
- 単一値のナビゲーション プロパティを持つ
$expand
。 - パートナー プロパティを持つ
$expand
。 - コレクション値のナビゲーション プロパティを持つ
$expand
。 - 単一の要求で複数のナビゲーション プロパティ タイプを持つ
$expand
。 - 入れ子になった
$expand
。 - 単一値とコレクション値のナビゲーション プロパティの両方を持つ入れ子になった
$expand
。
セクション 7 結果の集計
演算: $apply=aggregate
と average
、sum
、min
、& max
を使用します。
セクション8 FetchXML クエリ
操作:
?fetchXml=
を使用した fetchXml による要求を送信しますpage
とcount
の属性を使用したページング。
セクション 9 定義済みクエリの使用
演算:
{entitysetname}?savedQuery={savedqueryid}
を使用して保存されたクエリの結果を返します (システム ビュー){entitysetname}?userQuery={userquery}
を使用してユーザー クエリの結果を返します (保存されたビュー)
セクション 10: サンプル レコードを削除
操作: このサンプルで作成された各レコードへの参照は、作成時にリストに追加されました。 このサンプルでは、レコードが $batch
演算を使用して削除されます。
参照
Web APIを使用してデータをクエリする
Web API クエリ データのサンプル
Dataverse Web API
Web API 基本演算のサンプル (C#)
Web API 条件付き演算サンプル (C#)
Web API 機能およびアクションのサンプル (C#)
Web API テーブル スキーマ操作サンプル (C#)
Web API WebApiService の並列演算のサンプル (C#)
TPL データフロー コンポーネントを使用した Web API 並列演算のサンプル (C#)
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。