コード生成ツールを使用して生成されたクラスに XRM ツールを使用

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft.Xrm.Tooling.Connector アセンブリは、コード生成ツールを使用して生成されたエンティティおよびデータ コンテキストのクラスのインターフェイスを直接提供します。 ただし、CrmServiceClient クラスによって作成された Microsoft Dynamics 365 接続を使用して、コード生成ツールでエンティティ クラスとデータ コンテキスト クラスを設定できます。詳細:コード生成ツール (CrmSvcUtil.exe) を使用して事前バインド型エンティティ クラスを作成する

CrmServiceClient クラスによって作成された Dynamics 365 接続を使用するには、このクラスのインスタンスを使用して Dynamics 365 への接続を作成し、OrganizationServiceProxy オブジェクトの値を CrmServiceClient.OrganizationServiceProxy プロパティに設定します。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>",“<Domain>”),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you are connected to
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy prox = crmSvc.OrganizationServiceProxy; 
}
else
{
    // Display the last error.
    Console.WriteLine("Error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

注意

OrganizationServiceProxy クラスは、スレッド セーフではありません。 コード生成ツールまたは .NET 統合言語クエリ (LINQ) を使用して生成されたエンティティおよびデータ コンテキストを使用して作業してデータを取得する際、マルチスレッド環境で実行する場合には、コード内でロック スキームの作成を検討する場合があります。

関連項目

組織サービスを使用したデータまたはメタデータの読み取りと書き込み
XRM ツールを使用して Windows のクライアント アプリケーションを作成する

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権