- 31.10.2018
- 2 minute de citit
-
-
J
-
In acest articol
Inregistrarile de entitati sunt asociate intre ele utilizand atribute de cautare pe entitatea asociata. Cea mai simpla modalitate de a asocia doua inregistrari de entitati intr-o relatie de la unu la mai multi este de a utiliza un EntityReference pentru a seta valoarea unui atribut de cautare pe entitatea legata.
Cea mai simpla modalitate de a disocia doua inregistrari de entitati intr-o relatie unu-la-multi este de a seta valoarea atributului de cautare la nul.
Relatiile care utilizeaza o relatie de la multi la multi depind, de asemenea, de atributele de cautare ale entitatii care se intersecteaza, care accepta relatia de la multi la multi. Aceste relatii sunt definite de existenta inregistrarilor entitatii in acea entitate intersectata. Desi puteti interactiona direct cu entitatea care se intersecteaza, este mult mai usor sa utilizati API-ul pentru a face acest lucru pentru dvs.
Utilizati metoda Associate sau AssociateRequest
Valoarea principala a utilizarii metodei IOrganizationService.Associate sau AssociateRequest cu metoda IOrganizationService.Execute este ca puteti:
- Asociati mai multe inregistrari intr-o singura operatie
- Asociati cu usurinta inregistrarile folosind o relatie Multi-multi fara a va preocupa de entitatea intersectata.
Pentru a asocia inregistrarile entitatii cu aceste API-uri aveti nevoie de trei lucruri:
- O referinta de entitate la entitatea pe care doriti sa o asociati
- Numele relatiei
- Una sau mai multe referinte la care doriti sa asociati entitatea
Nu conteaza daca relatia este o relatie de la unu la multi sau de la multi la multi. Parametrii sau proprietatile sunt echivalente.
Puteti descoperi numele relatiilor vizualizand interfata de personalizare sau in metadate utilizand browserul de metadate. Mai multe informatii:
- Creati si editati relatii 1: N (unu-la-multi) sau N: 1 (mai multe la unu)
- Creati si editati relatii de entitate Multe-la-Multe (N: N)
- Rasfoiti metadatele pentru mediul dvs.
Urmatorul exemplu va seta o entitate de contact specifica (jimGlynn) ca contact principal pentru toate conturile din Redmond.
// Recuperati conturile var query = new QueryByAttribute (“account”) {ColumnSet = new ColumnSet (“name”)}; query.AddAttributeValue (“address1_city”, “Redmond”); EntityCollection accounts = svc.RetrieveMultiple (interogare); // Conversia EntityCollection intr-un EntityReferenceCollection var accountReferences = new EntityReferenceCollection (); accounts.Entities.ToList (). ForEach (x => {accountReferences.Add (x.ToEntityReference ());}); // Contactul de asociat conturilor var jimGlynn = new EntityReference (“contact”, nou Guid (“cf76763a-ba1c-e811-a954-000d3af451d6”)); // Relatia de utilizat var relatie = relatie noua („cont_contact_primar”); // Utilizati metoda Associate svc.Associate (jimGlynn.LogicalName, jimGlynn.Id, relatie, accountReferences);
Desi nu exista un avantaj special in acest sens, daca ati dorit sa utilizati Cererea asociata, puteti inlocui ultima linie cu aceasta:
// Utilizati AssociateRequest AssociateRequest request = new AssociateRequest () {RelatedEntities = accountReferences, Relationship = relation, Target = jimGlynn}; svc.Execute (request);
Aceasta operatiune este aceeasi cu trei operatiuni de actualizare separate pentru atributul de cautare Account.PrimaryContactId, dar foloseste relatia account_primary_contact, care este o relatie de entitate multi-la-unu pe entitatea de cont si o relatie de entitate one-to-many pe entitatea de contact.
Daca examinati proprietatile metadatelor relatiei, puteti vedea ca valoarea ReferencingEntity este un cont si valoarea ReferencingAttribute este primarycontactid.
Utilizati metoda Disassociate sau DisassociateRequest
Metoda IOrganizationService.Disassociate sau DisassociateRequest cu metoda IOrganizationService.Execute sunt doar inversul modului in care asociati inregistrarile entitatii.
Urmatorul cod inverseaza asocierile facute in esantionul de mai sus.
// Recuperati conturile var query = new QueryByAttribute (“account”) {ColumnSet = new ColumnSet (“name”)}; query.AddAttributeValue (“address1_city”, “Redmond”); EntityCollection accounts = svc.RetrieveMultiple (interogare); // Conversia EntityCollection intr-un EntityReferenceCollection var accountReferences = new EntityReferenceCollection (); accounts.Entities.ToList (). ForEach (x => {accountReferences.Add (x.ToEntityReference ());}); // Contactul de asociat conturilor var jimGlynn = new EntityReference (“contact”, nou Guid (“cf76763a-ba1c-e811-a954-000d3af451d6”)); // Relatia de utilizat var relatie = relatie noua („cont_primar_contact”); // Utilizati metoda Disassociate svc.Disassociate (jimGlynn.LogicalName, jimGlynn.Id, relation, accountReferences);
Desi nu exista un avantaj special in acest sens, daca ati dorit sa utilizati Cererea de disociere, puteti inlocui ultima linie cu aceasta:
// Utilizati DisassociateRequest DisassociateRequest request = new DisassociateRequest () {RelatedEntities = accountReferences, Relationship = relation, Target = jimGlynn}; svc.Execute (request);
Vezi si
Creati entitati utilizand serviciul organizatiei
Preluarea unei entitati utilizand
actualizarea serviciului organizatie si stergeti entitati utilizand serviciul organizatie
streaming rocco siffredi smeraldi martina
alex magni xxx smeraldi porn
max felicitas priscilla salerno smeraldi porno
interracial webcam smeraldi pornostar
video cento xcento sofia curly
cento per cento italiano porno sofia curly porn
maddalena porno sofia gucci xx
cazzone xxx sofia guccixxx
alex magni free sofia siena porn
malena milf sofia siena porno
tube salieri sofia siena pornostar
malena la troia sofia siena xxx
video hot malena la pugliese solo culo
centoccento solo figa italiana
culisfondati solo xxx
faketaxi streaming sos tette dalla puglia con furore
rocco siffredi academy.com spaccacuori streaming
gloria xxx sperma parti
cristina miller porn sperma party
max felicidas sperma party emy








