クイック スタート: C で dataverse SDK for .NET 要求を実行する#

このクイック スタートでは、最小限の C# コンソール アプリケーションで Microsoft Dataverse SDK for .NETを使用する方法について説明します。 ServiceClient クラスを使用して Organization サービスに接続し、Web サービス要求を実行して、環境のビジネス データへのアクセスを確認します。

アプリケーションは IOrganizationService.Execute メソッド を呼び出し、 WhoAmIRequest クラスのインスタンスを渡します。 Web サービスから返される結果は、Dataverse システム ユーザー アカウントの一意の識別子である WhoAmIResponse.UserId の値です。

注意

このクイック スタートの例には、簡潔な例外処理は含まれていません。 このクイック スタートは、SDK for .NETに接続して使用するために必要な最小限のコード例です。

GetStarted から完全なコード サンプルGitHub取得できます。 詳細については、プログラムの README を参照してください。

前提条件

  • Visual Studio (2026 以降)
  • インターネット接続
  • ターゲット環境の Dataverse システム ユーザー アカウントのサインイン資格情報
  • 接続先の Dataverse 環境の URL アドレス
  • Visual C# 言語の基本的な理解

アプリケーション コードでの接続文字列またはユーザー名/パスワード認証の使用については、次の重要な情報をお読みください。

重要

Microsoft では、利用可能な最も安全な認証フローを使用することをお勧めします。 この記事で説明する認証フローは、アプリケーションに対する非常に高い信頼を必要とし、他のフローには存在しないリスクを伴います。 このフローは、マネージド ID など、他のより安全なフローが実行できない場合にのみ使用してください。

Visual Studioで.NET コンソール アプリ プロジェクトを作成する

  1. 新しいプロジェクトを作成します。 このプロジェクトでは、Visual Studio 2026 を使用します。

    新しいプロジェクトを開始するオプションを示すVisual Studioのスクリーンショット

  2. .NETコンソール アプリ プロジェクト テンプレートを選択します。

    .NET コンソール アプリ プロジェクト テンプレートを示すVisual Studioのスクリーンショット。

    次へを選択します。

  3. プロジェクトの名前と場所を設定します。

    .NETの名前と場所ダイアログを示すVisual Studioのスクリーンショット。

    次へを選択します。

  4. フレームワークとして .NET 10.0 (長期サポート) を選択します。

    .NET フレームワークのサポート構成を示すVisual Studioのスクリーンショット。

    を選択してを作成します。

  5. ソリューション エクスプローラー で、作成したプロジェクトを右クリックして、コンテキスト メニューで NuGet パッケージの管理... を選択します。

    プロジェクトに対して [NuGet パッケージの管理] が選択されているソリューション エクスプローラーのスクリーンショット。

  6. NuGet パッケージの最新バージョンをMicrosoft.PowerPlatform.Dataverse.Clientして、インストールします。

    Microsoftを示す NuGet パッケージ マネージャーのスクリーンショット。PowerPlatform.Dataverse.Client パッケージをインストールする準備ができました。

注意

[変更のプレビューに適用] を選択し、[ライセンスの同意] ダイアログで [同意する] を選択するように求められます。

.NET要求用の Dataverse SDK のコードを追加する

  1. ソリューション エクスプローラーで、Program.csをダブルクリックしてファイルを編集します。 ファイルの内容を次のコードに置き換えます。

    using Microsoft.Crm.Sdk.Messages;
    using Microsoft.PowerPlatform.Dataverse.Client;
    using Microsoft.Xrm.Sdk;
    
    /// <summary>
    /// Public client authentication followed by a web service request.
    /// Use of username and password for authentication.
    /// </summary>
    /// <remarks>This sample uses a standard app registration used for
    /// demonstrating SDK code samples.</remarks>
    class Program
    {
        // TODO Enter your Dataverse environment's URL and logon info.
        static string url = "https://myorg.crm.dynamics.com";
        static string userName = "someone@myorg.onmicrosoft.com";
        static string password = "password";
    
        // This service connection string uses the info provided above.
        // The standard AppId and RedirectUri are provided for sample code demonstration only.
        static string connectionString = $@"
        AuthType = OAuth;
        Url = {url};
        UserName = {userName};
        Password = {password};
        AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d;
        RedirectUri = http://localhost;
        LoginPrompt=Auto;
        RequireNewInstance = True";
    
        static void Main()
        {
            // ServiceClient class implements IOrganizationService interface
            IOrganizationService service = new ServiceClient(connectionString);
    
            var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
            Console.WriteLine($"User ID is {response.UserId}.");
    
    
            // Pause the console so it does not close.
            Console.WriteLine("Press the <Enter> key to exit.");
            Console.ReadLine();
        }
    }
    
  2. url コードのコメントに示されているように、userNamepassword// TODO の値を変更します。

    注意

    環境 URLは、レガシ Web アプリケーションの 設定 > カスタマイズ > 開発者リソースまたは Power Apps の 設定 (歯車のアイコン) >開発者リソース にあります。

    このコード サンプルでは、わかりやすくするためにユーザー名とパスワードの情報をコードに配置しますが、他のコード サンプルでは、その情報の入力を求める、または別の App.config または appsettings.json ファイルに格納する、より推奨される方法を使用します。

    AuthType でサポートされる値の一覧は、接続文字列のパラメーターにあります。

プログラムを実行する

F5 キーを押してプログラムを実行します。 出力は次の例のようになるはずです。

User ID is 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Press any key to exit.

IOrganizationService インターフェイス メソッドを使用する

このプログラムで使用される Dataverse.Client.ServiceClient は、Execute メソッドを含む IOrganizationService インターフェイスを実装します。

IOrganizationService インターフェイスについて理解を深めるために、次の手順を試してください。

  1. WhoAmIRequest クラス の参考記事に移動します。

  2. その記事からサンプル メソッドをコピーします。 次のようになります。

    /// <summary>
    /// Outputs the data returned from the WhoAmI message
    /// </summary>
    /// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
    static void WhoAmIExample(IOrganizationService service) {
    
       var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
       Console.WriteLine($"OrganizationId:{response.OrganizationId}");
       Console.WriteLine($"BusinessUnitId:{response.BusinessUnitId}");
       Console.WriteLine($"UserId:{response.UserId}");
    
    }
    

    注意: これは IOrganizationService サービス インスタンスをパラメーターとして受け入れます。

  3. この WhoAmIExample メソッドをプログラムの Main メソッドの下に貼り付けます。

  4. このプログラムの Main メソッドを、以下と置き換えます。

        static void Main()
     {
         //ServiceClient implements IOrganizationService interface
         IOrganizationService service = new ServiceClient(connectionString);
    
         WhoAmIExample(service: service);
    
         // Pause the console so it does not close.
         Console.WriteLine("Press the <Enter> key to exit.");
         Console.ReadLine();
     }
    
  5. サンプルをもう一度実行します。 次のような結果が表示されます。

    OrganizationId:00aa00aa-bb11-cc22-dd33-44ee44ee44ee
    BusinessUnitId:11bb11bb-cc22-dd33-ee44-55ff55ff55ff
    UserId:22cc22cc-dd33-ee44-ff55-66aa66aa66aa
    Press the <Enter> key to exit.
    

次のステップ

これで、Dataverse に接続する単純なコンソール プログラムが完成しました。このプロジェクトを使用して、他のメソッドやメッセージをお試しください。 このクイック スタート コンソール アプリケーション プロジェクトを使用して、アドホック テストを実施できます。

他の IOrganizationService インターフェイス メソッドを試す

チップ

このドキュメントでは、IOrganizationService service パラメーターを受け取るこのWhoAmIExampleのような多くのメソッド例を見つけることができます。

次の IOrganizationService メソッドの例を試してください。

その他のメッセージを試す

これらの名前空間で Execute メソッド を使用して呼び出すことができる他のメッセージを見つけることができます。

レコード データの操作方法について説明します

Dataverse テーブルが含むビジネス データの操作方法について、次の記事で説明します。

サンプル コードを探索する

.NET 用 SDK のサンプル コードは、Microsoft の GitHub リポジトリ PowerApps-Samples/dataverse/orgsvc に用意されています。

ServiceClient 拡張機能を使用する

IOrganizationService インターフェイス の実装に加えて、ServiceClient は、IOrganizationService によって定義されたコア メソッドを超える拡張メソッドと、ILogger によるログを有効化する機能を提供します。 ServiceClient の使用に関する詳細情報