3

テスト用の Dynamics CRM 2011 サーバーをセットアップしました。

SDK の CrmSvcUtil ユーティリティを使用して、事前にバインドされたエンティティ クラス (mycrm.cs など) を生成しました。

Visual Studio で新しいプロジェクトを作成し、Microsoft.CRM.SDK.Proxy、Microsoft.Xrm.Sdk、および System.Runtime.Serialization への参照を追加しました。

また、mycrm.cs ファイルを既存のファイルとしてプロジェクトに追加しました。

それで?

わかった、わかった...SDKを読んでください。私はもう試した:

コードでのアーリー バインド エンティティ クラスの使用

作成、更新、削除のためのアーリー バインド エンティティ クラスの使用

コード生成ツール (CrmSvcUtil.exe) を使用してアーリー バインド エンティティ クラスを作成する

必要に応じて私を馬鹿と呼んでください - これらの記事にはおそらく情報が含まれていると確信しています。必要ですが、表示されません。ヘルプ!

4

1 に答える 1

7

まず、CRM Web サービスに接続する必要があります。

OrganizationServiceProxy orgserv;
ClientCredentials clientCreds = new ClientCredentials();
ClientCredentials devCreds = new ClientCredentials();


clientCreds.Windows.ClientCredential.UserName = "user";
clientCreds.Windows.ClientCredential.Password = "P@$$w0rd";
clientCreds.Windows.ClientCredential.Domain = "myDomain";
IServiceConfiguration<IOrganizationService> orgConfigInfo =
            ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(new Uri("https://myCRMServer/myOrg/XRMServices/2011/Organization.svc"));

orgserv = new OrganizationServiceProxy(orgConfigInfo, clientCreds);
orgserv.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());

その後、XrmServiceContext を使用するか、次のように名前を付けます。

CrmSvcUtil.exe /url: http://servername/organizationname/XRMServices/2011/Organization.svc /out:.cs /username: /password: /domain: /namespace: /serviceContextName: XrmServiceContext

次に、投稿したリンクの CRUD の例から始めることができます:)

連絡先の更新の例:

using(var context = new XrmServiceContext(orgserv))
{
    Contact con = context.contactSet.FirstOrDefault(c => c.Name == "Test Contact");
    if(con != null)
    {
        con.City = "NY";

        context.UpdateObject(con);
        context.SaveChanges();
    }
}

それが役に立てば幸い :)

于 2012-10-17T21:44:07.290 に答える