0

CRM 4 プラグインを CRM 2011 プラグインに変換する必要があります。私のコードでは、特定のクラスが呼び出されます

TargetCreateDynamic。

create = new TargetCreateDynamic();
                    create.Entity = counter;
                    cRequest = new CreateRequest();
                    cRequest.Target = create;
                    cResponse = (CreateResponse)_cs.Execute(cRequest); 

2011年にこれがどのクラスになるべきか誰か考えていますか?

4

1 に答える 1

2

Microsoft.Xrm.Sdk.Entityのクラスのみを使用しCreateRequestます。以下のサンプル コードは、CRM 2011 でプレーンな CreateRequest を作成する方法を示しています。

    internal Guid CreateEntity(IServiceProvider serviceProvider)
    {
        IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService organizationService = serviceFactory.CreateOrganizationService(null);

        CreateRequest createRequest = new CreateRequest();
        Entity entityToCreate = new Entity("Some_Entity_LogicalName");
        createRequest.Target = entityToCreate;
        CreateResponse response = (CreateResponse)organizationService.Execute(createRequest);

        return response.id;
    }

しかし、プラグインでエンティティの新しいレコードを作成したい場合は、次の短いコードを使用します。

    internal Guid CreateEntity(IServiceProvider serviceProvider)
    {
        IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService organizationService = serviceFactory.CreateOrganizationService(null);

        Entity entityToCreate = new Entity("Some_Entity_LogicalName");
        return organizationService.Create(entityToCreate);
    }

これは単なるサンプル コードであることに注意してください。エンティティを保存/更新/削除するたびに OrganizationService を作成する必要はありません。プラグイン用に一度組織サービスを作成し、それを「グローバル」変数に保存して、どこでも使用するだけでなく、

于 2013-01-11T14:31:48.373 に答える