Как создавать и удалять данные из отношения сущностей многие ко многим в CRM 2011? - PullRequest
4 голосов
/ 10 января 2012

Как создать и удалить данные из отношения сущностей многие-ко-многим в crm 2011?

Код:

QueryExpression qry = new QueryExpression();
qry.EntityName = "entity1_entity2";
qry.ColumnSet = new ColumnSet(true);

var re = crmservice.RetrieveMultiple(qry).Entities;


crmservice.Delete("entity1_entity2", re[0].Id);

FaultException: The 'Delete' method does not support entities of type 'entity1_entity2'.

Ответы [ 4 ]

5 голосов
/ 10 января 2012

Чтобы связать две записи через отношение N: N, необходимо использовать запрос Associate / Disassociate или соответствующие методы прокси-сервера службы.

Это создаст / удалит соответствующую запись сущности entity1_entity2.

4 голосов
/ 28 января 2012
using Microsoft.Crm.Sdk.Messages;
...
// get the crm service
...
AssociateEntitiesRequest fooToBar = new AssociateEntitiesRequest
{
    Moniker1 = foo,                // foo is an entity reference
    Moniker2 = bar,                // bar is an entity reference
    RelationshipName = "foo_bar",  // name of the relationship
}

service.Execute(fooToBar)          // relates foo and bar

Вот сообщение в блоге: http://charithrajapaksha.blogspot.com/2011/08/creating-many-to-many-records-in-crm.html

3 голосов
/ 11 сентября 2014

Для удаления попробуйте ниже

        // Create an AssociateEntities request.
        //Namespace is Microsoft.Crm.Sdk.Messages
        DisassociateEntitiesRequest request = new DisassociateEntitiesRequest();

        // Set the ID of Moniker1 to the ID of the lead.
        request.Moniker1 = new EntityReference
        {
            Id = moniker1.Id,
            LogicalName = moniker1.Name
        };

        // Set the ID of Moniker2 to the ID of the contact.
        request.Moniker2 = new EntityReference
        {
            Id = moniker2.Id,
            LogicalName = moniker2.Name
        };

        // Set the relationship name to associate on.
        request.RelationshipName = strEntityRelationshipName;

        // Execute the request.
        service.Execute(request);
0 голосов
/ 12 июля 2014

В отношениях N: N записи должны быть связаны и диссоциированы. Вы не можете создавать и удалять записи в N: N Relationship. вы можете использовать классы AssociateRequest, DisassociateRequest или вы можете использовать Ассоциированные, Disassociate Messages в инструменте регистрации плагинов.

...