Impostazione di una relazione tra tabelle virtuali

Le tabelle virtuali sono abilitate per relazioni. Puoi impostare le relazioni personalizzate a più tabelle (polimorfiche) 1:N, N:1, e N:N. Le relazioni possono essere stabilite tra:

  • Tabelle locali in Dataverse e tabelle virtuali.
  • Tabelle virtuali e altre tabelle virtuali dello stesso provider, ad esempio SQL->SQL.

Ad esempio, non è possibile impostare una relazione tra una tabella virtuale creata utilizzando il provider di tabelle virtuali OData e una tabella virtuale creata utilizzando il provider di connettori virtuali.

Definizione di relazioni in tabelle virtuali

Le tabelle virtuali create utilizzando il provider del connettore virtuale creano automaticamente tutte le colonne rappresentate nella tabella di origine esterna. Ciò includerà anche le colonne in cui sono definite le relazioni. Tuttavia, la definizione della relazione non verrà creata automaticamente. Dovrai definire questa relazione in Dataverse manualmente.

L'esempio seguente crea una relazione N:1 tra una tabella virtuale (Richiesta servizio) e una tabella nativa (Account). La colonna utilizzata per impostare la relazione è AccountId. Questa colonna è la chiave primaria nella tabella account ed è una chiave esterna nella tabella richiesta servizio.

Una rappresentazione della tabella virtuale Richiesta servizio è mostrata di seguito. Noterai che la colonna AccountId, che è la colonna utilizzata per la relazione nell'origine esterna, è di tipo Più righe di testo. Devi avere questa colonna rappresentata come tipo Ricerca per creare una relazione.

Creare le colonne nella tabella virtuale

  1. Vai a Impostazioni avanzate > Impostazioni > Personalizzazione e quindi seleziona Personalizza il sistema.

  2. Nel riquadro di navigazione a sinistra, espandi la vista Entità e sfoglia la definizione della tabella virtuale Richiesta servizio.

  3. Seleziona la vista Campi seleziona la colonna AccountId, quindi seleziona Elimina.

  4. Scegli Elimina per confermare l'eliminazione di questa colonna.

  5. Per creare la relazione, seleziona Relazione N:1 all'interno della tabella Richiesta servizio.

  6. Seleziona Nuova relazione molti a uno.

  7. Immetti i seguenti dettagli per creare la relazione tra la tabella virtuale Richiesta servizio e la tabella Account.

    1. Nella sezione Definizione relazione imposta il valore della colonna Entità primaria su Account.
    2. Facoltativamente, se desideri modificare il nome della relazione, puoi farlo nella colonna Nome.
    3. Nella sezione Campo di ricerca imposta il nome visualizzato su Account.
    4. La colonna Nome viene popolata automaticamente con il nome della colonna di ricerca.
    5. Imposta il valore Nome esterno su AccountId (corrispondente al nome della colonna nella tabella di origine).
  8. Seleziona Salva e chiudi la relazione.

    Crea relazione

  9. Fai riferimento alle colonne per la tabella virtuale Richiesta servizio e noterai che la colonna AccountId è di tipo Ricerca. Questa colonna ora può essere aggiunta a moduli e viste per vedere tutti gli account associati per ogni record della richiesta di servizio.

    Colonne della tabella personalizzata

  10. Una volta stabilita la relazione, ora puoi creare una nuova richiesta di servizio e selezionare gli account da associare.

    Nuova tabella personalizzata

Nota

Sarà necessario modificare i moduli e le viste per questa tabella per includere la colonna di ricerca e le altre colonne richieste prima di usare la tabella virtuale.

Suggerimento

  • La colonna Chiave primaria deve essere inclusa nel modulo di creazione se non è stata impostata per l'incremento automatico durante la progettazione della tabella di origine sottostante. Dovrai inserire un valore valido nella colonna della chiave primaria affinché un'operazione di inserimento abbia esito positivo.

Passaggi successivi

Creare tabelle virtuali utilizzando il provider di connettori virtuali (anteprima)