Condividi tramite


Introduzione alle entità in Microsoft Dynamics 365

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Le entità vengono utilizzate per modellare e gestire i dati aziendali in Microsoft Dynamics 365. Ad esempio le entità, quali account, campagna e incidente (caso) possono essere utilizzate per registrare e supportare vendite, marketing e impegni di tipo servizio. Un'entità include un set di attributi e ogni attributo rappresenta un elemento dati di un particolare tipo. Ad esempio, l'entità account ha gli attributi Name, Address e OwnerId. Dal punto di vista concettuale, un'entità è come una tabella di database e gli attributi di entità corrispondono alle colonne della tabella. La creazione di un record di entità o semplicemente un record in Microsoft Dynamics 365 consiste nell'aggiunta di una riga in una tabella di database. Le entità vengono divise in tre categorie: sistema, aziendali e personalizzate. Come uno sviluppatore che lavora con dati aziendali, si utilizzeranno entità aziendali e personalizzate. Le entità di sistema verranno utilizzate da Microsoft Dynamics 365 per gestire tutti i processi interni, ad esempio i flussi di lavoro e i processi asincroni. Non è possibile eliminare né personalizzare alcuna entità di sistema.

Le entità aziendali fanno parte dell'installazione predefinita di Microsoft Dynamics 365 e vengono visualizzate nell'interfaccia utente di personalizzazione. Un account, un contatto e una lettera sono esempi di entità aziendali. Dopo l'installazione, è possibile aggiungere entità personalizzate a Microsoft Dynamics 365 per soddisfare le esigenze aziendali specifiche dell'organizzazione. In una soluzioneMicrosoft Dynamics 365, è possibile impostare entità e attributi aziendali e personalizzati per essere personalizzabile o non personalizzabile. È possibile modificare un'entità personalizzabile rinominandola, aggiungendo nuovi attributi o modificando varie impostazioni, come il rilevamento duplicati o le impostazioni di supporto della coda. Non è possibile modificare un'entità non personalizzabile. Per ulteriori informazioni sulla personalizzazione, sulle soluzioni gestite e non gestite e le proprietà gestite, vedere Comprimere e distribuire estensioni con soluzioni.

Se si utilizza il modello della programmazione con associazione anticipata, un'entità è rappresentata da una classe, ad esempio la classe Account che rappresenta l'entità account. Gli attributi di entità sono rappresentati dalle proprietà delle classi. Questa classe viene generata dallo strumento CrmSvcUtil. Per ulteriori informazioni, vedere Utilizzare le classi di entità con associazione anticipata nel codice. In alternativa, è possibile scrivere programmi che funzionano con i dati entità utilizzando un approccio dinamico. Per ulteriori informazioni, vedere Utilizzare la classe di entità con associazione tardiva nel codice.

Nota

Nella documentazione Microsoft Dynamics 365 SDK, il termine "attributo di entità" viene utilizzato in modo intercambiabile con il termine "attributo" e il termine "proprietà" (proprietà delle classi).

In questo argomento

I metadati dell'entità

Azioni sui record dell'entità

Proprietà delle entità

Stato e motivo stato del record

Immagini di entità

I metadati dell'entità

I metadati per un'organizzazione Microsoft Dynamics 365 contengono le definizioni per le entità, gli attributi e le relazioni tra le entità. Per ulteriori informazioni, vedere Modelli di dati e metadati in Microsoft Dynamics 365. Come uno sviluppatore vi sono molti casi in cui è utile essere in grado di trovare tutti i metadati per un'organizzazione. Esistono diversi modi per trovare e fare riferimento ai metadati:

È possibile creare i seguenti tipi di relazioni tra le entità: uno-a-molti, molti-a-uno e molti-a-molti. I record per una relazione molti-a-molti vengono archiviati in un'entità intersecata. Dopo che una relazione viene definita, utilizzare il messaggio AssociateRequest o il metodo Associate per creare un collegamento tra i record specificati e utilizzare il messaggio DisassociateRequest o il metodo Disassociate per rimuovere un collegamento tra i record specificati.

Nelle relazioni uno-a-molti o molti-a-uno, alcune azioni nel record di entità padre influiscono sui record di entità figlio. Le azioni con comportamento a catena includono: Assegna, Elimina, Unisci, Condividi, Rimuovi condivisione e Ricollega. Per ulteriori informazioni, vedere Comportamento della relazione di entità.

Nomi utilizzati nei metadati dell'entità

Le entità, gli attributi e le relazioni hanno diversi nomi. Nella tabella seguente sono elencati i diversi nomi utilizzati nei metadati.

Nome

Descrizione

Nome visualizzato

Il nome visualizzato all'utente.

Nome della raccolta visualizzato

Una versione plurale del nome visualizzato. Ciò si applica solo alle entità.

Nome logico

Il nome univoco dell'entità o dell'attributo. Questo nome è in lettere minuscole.

Nome schema

Il nome dello schema viene specificato alla creazione. Deve essere univoco. Viene utilizzato per creare il nome logico. Questo nome deve essere in Pascal case. Il nome dello schema viene utilizzato per creare la classe per l'entità quando si utilizza la programmazione con associazione anticipata.

Nota

Per un'entità personalizzata, un attributo e una relazione creata nel contesto di una soluzione, il prefisso di personalizzazione nei nomi di schema e logici è definito nell'attributo Publisher.CustomizationPrefix. Per un'entità personalizzata creata a livello di programmazione, impostare il prefisso di personalizzazione su una stringa di lunghezza compresa tra due e otto caratteri, con tutti i caratteri alfanumerici che iniziano con una lettera. Non può iniziare con "mscrm". Per ulteriori informazioni sulla personalizzazione dei metadati e le convenzioni di denominazione per un'entità, vedere Personalizzare i metadati dell'entità.

Azioni sui record dell'entità

Ogni entità supporta diverse azioni, ad esempio creare o eliminare un record o assegnare un record a un altro utente o team. Non tutte le azioni sono consentite per tutti i tipi di entità o attributi. Per ogni attributo, i metadati definiscono un'azione specificata è supportata. Ad esempio, le proprietà di un attributo, come IsValidForCreate, IsValidForRead e IsValidForUpdate dicono se è possibile creare, recuperare o aggiornare l'attributo.Ulteriori informazioni:Operazioni valide negli attributi.

Per eseguire un'azione, chiamare uno dei metodi descritti in IOrganizationService. Ad esempio, per creare un record in Microsoft Dynamics 365, è possibile utilizzare IOrganizationService. Metodo Create o IOrganizationService. Metodo Execute con il messaggio corrispondente CreateRequest. È necessario disporre dei privilegi e i diritti di accesso necessari per eseguire tali azioni. Per ulteriori informazioni, vedere Modello di sicurezza di Microsoft Dynamics 365.

Nella tabella seguente sono elencate le azioni che sono consentite sui record di entità personalizzate e aziendali e sui metodi e messaggi che è possibile utilizzare per eseguire tali azioni.

Azione

Descrizione

Metodo e/o messaggio

Crea

Crea un record di un tipo di entità specifico, incluse le entità personalizzate.

IOrganizationService.Create

CreateRequest

Aggiorna

Modifica il contenuto di un record.

IOrganizationService.Update

UpdateRequest

Eliminazione

Elimina un record.

IOrganizationService.Delete

DeleteRequest

Recupero

Recupera un record.

IOrganizationService.Retrieve

RetrieveRequest

Recuperare multipli

Recupera una raccolta di record.

IOrganizationService.RetrieveMultiple

RetrieveMultipleRequest

Assegna

Modifica la proprietà di un record. Valido per entità di proprietà dell'utente o di proprietà del team.

AssignRequest

Condivisione

Concede, modifica o revoca l'accesso a un record a un altro utente o team. Valido per entità di proprietà dell'utente o di proprietà del team.

GrantAccessRequest

ModifyAccessRequest

RevokeAccessRequest

Associata

Crea collegamenti tra un record e una raccolta di record in cui esiste una relazione tra entità.

AssociateRequest

Annulla associazione

Rimuove collegamenti tra un record e una raccolta di record in cui esiste una relazione tra entità.

DisassociateRequest

Impostazione stato

Impostare lo stato di un record.

SetStateRequest

Crea

Per eseguire questa azione, il chiamante deve disporre di Create message privileges. I diritti di accesso non si applicano all'azione Crea, ma vengono applicati al record dopo la creazione.

Per essere proprietario di un record o per recuperare il record appena creato, un utente o un team deve inoltre leggere i privilegi e i diritti di accesso nel nuovo record. Ad esempio, se si dispone di privilegi di creazione per gli account, è possibile creare un record di account e assegnarlo a un altro utente o team. Tuttavia, a meno che non si disponga anche di privilegi di lettura per gli account e i diritti di accesso al nuovo record, non è possibile creare un account ed essere il proprietario di tale nuovo account.

Aggiorna

Per eseguire questa azione, il chiamante deve disporre di Update message privileges e dei diritti di accesso per i record di entità che vengono aggiornati.

Quando si aggiorna un record, solo gli attributi per i quali si specificano dati o si specifica null vengono aggiornati. Tutti gli altri valori rimangono gli stessi. Inoltre, se si specificano i dati per gli attributi non validi per l'aggiornamento, vengono ignorati.

Eliminazione

Per eseguire questa azione, il chiamante deve disporre di Delete message privileges e dei diritti di accesso per i record di entità che vengono eliminati.

Le regole a catena determinano se i record correlati vengono eliminati contemporaneamente. Per ulteriori informazioni, vedere Comportamento della relazione di entità.

In genere, è consigliabile eliminare solo i record immessi accidentalmente. Per alcuni tipi di record è possibile invece disattivare o chiudere il record, anziché eliminarlo. Non tutti i tipi di record possono essere eliminati.

Recupero

Per eseguire questa azione, il chiamante deve disporre di Retrieve message privileges e dei diritti di accesso per i record di entità che vengono recuperati.

Recuperare multipli

Per eseguire questa azione, il chiamante deve disporre di Retrieve message privileges e dei diritti di accesso per i record di entità che vengono recuperati.

Per recuperare una raccolta di record in base ai parametri della query, è possibile utilizzare un'espressione di query o un linguaggio di query FetchXML. Le espressioni di query consentono di creare un albero di query utilizzando una gerarchia di classe. I metodi che utilizzano un'espressione di query restituiscono una raccolta di record tipizzati fortemente. FetchXML consente di creare una query utilizzando un linguaggio XML. FetchXML restituisce una stringa XML. Pertanto, è necessario eseguire un'ulteriore manipolazione dei dati per utilizzare i risultati della query. Per ulteriori informazioni, vedere Recupera i dati con le query utilizzando gli assembly SDK.

Assegna

Per le entità di proprietà dell'utente o di proprietà del team, si assegna un record a un nuovo proprietario. Per ulteriori informazioni, vedere Proprietà delle entità. Per eseguire questa azione, il chiamante deve disporre di Assign message privileges e dei diritti di accesso per i record di entità.

Le regole a catena determinano se i record correlati vengono assegnati a un altro utente contemporaneamente. Per ulteriori informazioni, vedere Comportamento della relazione di entità.

Quando si assegna un record a un altro utente o team, il proprietario precedente dispone ancora di accesso a questo record se l'attributo ShareToPreviousOwnerOnAssign è impostato su true. Tuttavia, il proprietario precedente non sarà più il proprietario del record.

Condivisione

Per le entità di proprietà dell'utente o di proprietà del team, è possibile condividere un record con altri utenti o team. Per eseguire questa azione, il chiamante deve disporre di GrantAccess message privileges, ModifyAccess message privileges e RevokeAccess message privileges, e dei diritti di accesso per i record di entità.

Le regole a catena determinano se i record correlati vengono condivisi contemporaneamente. Per ulteriori informazioni, vedere Comportamento della relazione di entità

La condivisione è il modo in cui gli utenti di Microsoft Dynamics 365 possono fornire ad altri utenti l'accesso a informazioni sui clienti in base alle esigenze. Ad esempio, un venditore può scegliere di condividere un'opportunità con un altro venditore affinché entrambi possano registrare l'andamento di una vendita importante.

Utilizzare GrantAccessRequest per condividere un record. Utilizzare ModifyAccessRequest per modificare la modalità di condivisione di un record. Utilizzare RevokeAccessRequest per rimuovere tutte le condivisioni per il record.

Un utente deve disporre dei diritti di condivisione per condividere i record relativi ai clienti, ad esempio contatti, account, opportunità, casi e ordini, con qualsiasi altro utente in Microsoft Dynamics 365. Quando un record viene condiviso, è possibile specificare i diritti da concedere per il record condiviso.

L'elenco seguente descrive le regole per la condivisione di record:

  • Qualsiasi utente con privilegi di condivisione per un record può condividerlo con utenti o team aggiuntivi.

  • Qualsiasi utente con privilegi di condivisione per un record può impostare i diritti di accesso per tale record. Questi diritti di accesso controllano come un utente che condivide un record può accedere a tale record.

  • L'accesso a un record condiviso può essere impostato a qualsiasi diritto di accesso, ad esempio lettura o scrittura.

  • I diritti di accesso a un record condiviso possono variare per ogni utente con cui è condiviso il record.

  • Un record può essere condiviso con la stessa entità di sicurezza una sola volta. Un utente può condividere un record se dispone di privilegi di condivisione per tale record.

  • Qualsiasi utente con privilegi di condivisione per un record aziendale può modificare i diritti di accesso per gli utenti che hanno il record condiviso.

  • Qualsiasi utente con privilegi di condivisione per un record aziendale può rimuovere la condivisione per un utente specificato che ha il record condiviso.

  • Qualsiasi utente con privilegi di condivisione per un record aziendale può rimuovere la condivisione per tutti gli utenti con cui il record era precedentemente condiviso.

Associata

Per eseguire questa azione, il chiamante deve disporre di Associate message privileges e dei diritti di accesso per i record che vengono aggiornati.

Associa crea più associazioni in una transazione tra il record specificato e ogni record nella raccolta specificata per la relazione specificata.

Per una relazione uno-a-molti, questo metodo imposta ReferencingAttribute nel record correlato all'ID del record specificato.

Per una relazione molti-a-molti, questo metodo crea un record nella tabella intersecata per la relazione, contenente un ID dei record di riferimento e cui si fa riferimento. Il nome della tabella intersecata è definito nella proprietà IntersectEntityName per la relazione.

Annulla associazione

Per eseguire questa azione, il chiamante deve disporre di Disassociate message privileges e dei diritti di accesso per i record che vengono aggiornati.

Annulla associazione annulla l'operazione di associazione, aggiornando i record di riferimento e cui si fa riferimento ed eliminando il record intersecato nei casi appropriati. Per ulteriori informazioni, vedere Associata.

Impostazione stato

Per eseguire questa azione, il chiamante deve disporre di SetState message privileges e dei diritti di accesso per i record che vengono aggiornati. Il messaggio SetStateRequest aggiorna gli attributi StatusCode e StateCode del record di entità.

Proprietà delle entità

Esistono diversi tipi di proprietà delle entità. La maggior parte delle entità, incluse le entità personalizzate, sono di proprietà dell'organizzazione, di un utente o un team. Alcune entità aziendali non hanno un proprietario, ad esempio il tipo di sconto (elenco sconti), dove la proprietà è definita dallo sconto dell'entità padre. Il tipo di proprietà definisce alcune delle operazioni che possono essere eseguite su un record. La proprietà per un'entità è definita nella proprietà dei metadati OwnershipType. La tabella seguente elenca le proprietà di proprietà.

Tipo di proprietà

Descrizione

Di proprietà dell'organizzazione

Contiene i dati che includono ciò che appartiene all'intera organizzazione o che essa può visualizzare. Non è possibile assegnare o condividere entità di proprietà dell'organizzazione. Ad esempio, i prodotti sono di proprietà dell'organizzazione. Queste entità hanno un attributo denominato organizationid.

Di proprietà dell'azienda

Entità che appartengono a una business unit. Queste entità hanno un attributo denominato owningbusinessunit.

Entità di proprietà dell'utente o del team.

Assegnato a un utente o a un team. Queste entità contengono i dati relativi ai clienti, ad esempio account o contatti. La protezione può essere definita in base alla business unit per l'utente o il team. Queste entità hanno attributi denominati owningteam e owninguser.

Nessuno

Queste entità non sono di proprietà di un'altra entità.

Ulteriori informazioni sulla Proprietà dell'utente o del team

È possibile utilizzare il messaggio AssignRequest per modificare la proprietà di un record. Per ulteriori informazioni, vedere Assegna. È possibile utilizzare il messaggio ReassignObjectsSystemUserRequest o ReassignObjectsOwnerRequest per effettuare la riassegnazione in blocco di tutti i record per un proprietario.

Nota

Se si limita la proprietà a utenti o team, si restringe l'accesso ai dati per gli utenti autorizzati nell'organizzazione. Tuttavia, è possibile espandere l'accesso ai dati ad utenti e team aggiuntivi condividendo un record di entità con loro. È inoltre possibile assegnare un record a un altro utente o team. La configurazione della protezione per le entità di proprietà dell'utente o di proprietà del team offre più livelli di accesso per i ruoli di sicurezza che per le entità di proprietà dell'organizzazione. I ruoli di sicurezza per le entità di proprietà dell'organizzazione hanno due livelli di accesso: Nessuno e Globale. Le entità di proprietà dell'utente o di proprietà del team hanno cinque livelli di accesso: Globale, Esteso, Locale, Di base e Nessuno.

Stato e motivo stato del record

La maggior parte delle entità aziendali hanno due proprietà per registrare lo stato di un record. Queste sono StateCode, denominato Stato nell'applicazione Web e StatusCode, denominato Motivo stato nell'applicazione Web. I valori degli attributi StatusCode e StateCode sono collegati. L'attributo StateCode è utilizzato internamente per rappresentare lo stato dell'entità. L'attributo StatusCode è utilizzato per visualizzare il valore all'utente finale. Il set dei codici di stato validi per un'entità non è personalizzabile, ma i codici di stato sono personalizzabili. Per l'entità caso e le entità personalizzate, è possibile definire ulteriori criteri per le transizioni valide tra gli stati. Per ulteriori informazioni, vedere Personalizzare i metadati degli attributi di entità e Definire le transizioni personalizzate del modello di stato.

Immagini di entità

Alcune entità di sistema dispongono di attributi di immagine. È possibile aggiungere attributi di immagine a entità personalizzate. Quando un'entità dispone di un attributo di immagine, è possibile impostare la proprietà PrimaryImageAttribute per controllare se l'immagine verrà visualizzata nell'applicazione. Quando l'immagine viene visualizzata nell'applicazione gli utenti dell'applicazione Web possono caricare le immagini per il record dell'entità. Le seguenti entità di sistema dispongono di attributi di immagine. Quelli contrassegnati da un asterisco sono abilitati per impostazione predefinita per mostrarli nell'applicazione.

Account *

KbArticle

Campagna

Caso

Concorrente *

Connessione

Contatto *

Contratto

TransactionCurrency

EmailServerProfile

Obiettivo

Fattura

Lead *

Cassetta postale

Prodotto opportunità

SalesOrder

Organizzazione

Prodotto *

Autore *

Coda

Risorsa *

SalesLiterature

Area

SystemUser *

Ulteriori informazioni:Attributi dati di immagine.

Vedere anche

Entità di sicurezza e amministrazione
Utilizzare i metadati per generare diagrammi di entità
Definire le transizioni personalizzate del modello di stato
Chiave diagrammi di entità
Modellare i dati aziendali in Microsoft Dynamics 365
Personalizzare i metadati delle relazioni di entità
Comportamento della relazione di entità
Modelli di dati e metadati in Microsoft Dynamics 365
Utilizzare il servizio Organizzazione con i metadati di Dynamics 365
Comprimere e distribuire estensioni con soluzioni
entità di servizio organizzazione
Modello di sicurezza di Microsoft Dynamics 365
Esempio: impostare e recuperare le immagini di entità
Esempio: assegnare un record a un team
Esempio: condividere i record con i messaggi GrantAccess, ModifyAccess e RevokeAccess
Esempio: Unire due record
Esempio: convalidare uno stato del record e impostare lo stato del record
Esempio: record di rollup correlati a un record specifico

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright