この .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 を押してサンプルを実行します。
Code
このサンプルのコードは次のとおりです: 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の使用 -
?@p1=fullnameと$filterでパラメータ化されたエイリアス ($orderby) を使用します
セクション 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#)