Skapa 1 till N-relationer (en till många) mellan entiteter
Det här ämnet gäller för Dynamics 365 Customer Engagement (on-premises). En Power Apps-version för det här ämnet finns i: Skapa eller redigera en till flera- eller många-till-en-entitetsrelationer med hjälp av en Power Apps-portal
Det enklaste sättet att skapa en 1: N-relation är att skapa ett nytt uppslagsfält för en entitet. Du kan ange de gemensamma fältvärdena för uppslagsfältet samt ytterligare två alternativ när du anger Typ till Uppslag. Dessa fält är Målposttyp och Relationsnamn.
Målposttypen väljer den primära entiteten i 1:N-relationen. Relationsnamnet genereras automatiskt för dig och baseras på de två entiteterna som ingår i relationen. Vanligtvis behöver du inte redigera detta, men du kan om du vill. Namnet på entitetsrelationen innehåller utgivarens anpassningsprefix för lösningen du arbetar med för tillfället.
Kommentar
Om du bryr dig om anpassningsprefix måste du arbeta inom ramen för en lösning som är kopplad till utgivaren med det prefix du vill använda.
Men, när du skapar en 1 till N-relation genom att skapa ett uppslagsfält ställs vissa standardvärden in för dig. Om du vill redigera vissa av alternativen i relationen måste du leta upp relationen och redigera den.
Det går inte att skapa anpassade 1 till N-relationer för alla entiteter. I sådana fall kommer inget alternativ att finnas för att skapa en ny anpassad entitetsrelation med hjälp av lösningsutforskaren. Om du använder metadatawebbläsaren kan du filtrera listan över entiteter efter egenskaperna CanBePrimaryEntityInRelationship
och CanBeRelatedEntityInRelationship
.
Definitionen av 1:N-relationen består av fyra delar: relationsdefinition, uppslagsfält, navigeringsfönsterobjekt för primär entitet och relationstyp.
Skapa eller redigera 1 till N-relationer mellan entiteter
Öppna lösningsutforskaren.
Under Komponenter utökar du Entiteter och utökar sedan den entitet du vill arbeta med.
Välj 1:N-relationer.
Om du vill redigera eller visa information för en relation markerar du relationen, väljer Fler åtgärder i verktygsfältet Åtgärder och väljer sedan Redigera.
- OR -
Lägg till en ny relation genom att välja Ny 1-till-många-relation.
Viktigt!
Om inte Ny 1 till N-relation visas i verktygsfältet Åtgärder, kan du inte skapa en 1 till n-relation för entiteten.
För en ny relation i avsnittet Relationsdefinition i listan Relaterad entitet väljer du entiteten som ska relateras.
Kommentar
När den relaterade entiteten specificeras anges ett standardvärde för fältet Namn. Om du ändrar den relaterade entiteten innan du sparar ändras värdet på Namn i enlighet med detta.
Välj om detta kommer att vara sökbart till inte.
I avsnittet Uppslagsfält, ange ett värde för fältet Visningsnamn.
Viktigt!
När Visningsnamn specificeras anges ett standardvärde för fältet Namn. Om du ändrar Visningsnamn i uppslagsfältet innan du sparar ändras inte värdet i fältet Namn. Därför bör du kontrollera att Namn är relevant innan du sparar.
I listan Fältkrav väljer du ett alternativ för att ange datakrav för fältet innan du sparar en post.
I avsnittet Navigeringsfönsterobjekt för primär entitet i listan Visningsalternativ väljer du ett alternativ för att visa associerade vyer eller en egen etikett.
I avsnittet Relationstyp i listan Typ kan du välja ett av följande alternativ:
Överordnad. I en överordnad relation mellan två tabeller vidtas en åtgärd för en post i den överordnade tabellen även för underordnade tabellposter som är kopplade till den primära eller överordnade tabellposten. Ägaren till den överordnade posten har till exempel ärvd åtkomst till underordnade tabellposter och när den överordnade posten tas bort tas även alla underordnade poster bort. För 1:N överordnad relation mellan den överordnade tabellen (P1) och den underordnade enheten (C1) ges ägaren av P1-posten ärvd åtkomst till C1-underordnade poster.
Refererande. I en refererande relation mellan två entiteter kan du navigera till alla närliggande poster, men åtgärder som vidtas på en post påverkar inte den andra.
Refererande, begränsa borttagning. I en refererande relation med begränsad borttagning mellan två entiteter kan du navigera till alla närliggande poster. Åtgärder på den överordnade posten tillämpas inte på den underordnade, men det går inte att radera den överordnade posten så länge den underordnade finns. Tänk på att du inte kan ta bort en post när det finns relaterade poster.
Konfigurerbar kaskad. Välj beteende som är associerat med var och en av en uppsättning möjliga åtgärder i konfigurerbar övergripande relation mellan två entiteter.
Viktigt!
Om du anger att beteendet för alla åtgärderna ska matchas mot beteendena för åtgärderna för de andra typerna (Typ) anges Typ automatiskt till den andra typen när du sparar relationen.
Mer information: Konfigurera beteende för entitetsrelation
Välj Spara och stäng för att stänga formuläret Relation.
När du har slutfört anpassningarna ska du publicera dem:
Om du vill publicera anpassningar endast för den komponent som du för närvarande redigerar klickar du på Publicera i verktygsfältet Åtgärder.
Om du vill publicera anpassningar för alla opublicerade komponenter samtidigt väljer du Entiteter i navigeringsfältet eller i navigeringsfönstret och sedan Publicera alla anpassningar i verktygsfältet Åtgärder.
Kommentar
- En anpassad entitet kan inte vara den primära entiteten i en relation med en relaterad systementitet som är angiven som kaskad. Det innebär att du inte kan ha en relation med någon åtgärd som angetts som Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda mellan en primär anpassad entitet och en relaterad systementitet.
- Nya relationer kan inte ha åtgärder som angetts som Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda om den relaterade entiteten i den relationen redan finns som en relaterad entitet i en annan relation som har någon åtgärd med värdet Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda. Därmed undviks relationer med flera överordningar.
- Varje gång du ändrar element i användargränssnittet eller implementerar formulärskript för en entitet måste du publicera ändringar så att de tillämpas. Alla anpassningar som ändrar dataschemat för en app, till exempel anpassade entiteter, relationer eller fält, tillämpas direkt.
- Om en relation är en del av en hanterad lösning, kan utvecklaren av den hanterade lösningen hindra dig från att anpassa relationen.
- Installation av en lösning eller publicering av anpassningar kan störa normala systemåtgärder. Vi rekommenderar att du schemalägger en lösningsimport när det stör användarna som minst.
Relationsdefinition
Beroende på om du väljer att skapa en ny en-till-många-relation eller en ny många-till-en-relation i lösningsutforskaren kommer antingen fälten för den primära entiteten eller relaterade entiteten att bli ifyllda i förväg. Du behöver bara välja en. Ett standardvärde för fältet Namn fylls i baserat på utgivarens anpassningsprefix och namnen på de entiteter du väljer att använda i relationen. Du kan ändra namnet om du vill. Om du skapar flera anpassade relationer mellan två entiteter och använder samma anpassningsprefix för båda blir det automatiskt skapade namnvärdet inte unikt och du kommer inte att kunna spara den nya relationen. Du måste redigera namnet för att skilja den från alla befintliga namn innan du kan spara det. Du kan inte ändra det när du har sparat det.
Om du inte vill att denna entitetsrelation ska synas i Avancerad sökning anger du värdet Sökbar till Nej.
Uppslagsfält
Dessa fält är de gemensamma egenskaperna alla fält har utom Sökbar, Fältsäkerhet och Granskning. Om du vill redigera värdena för uppslagsfältet som skapas med entitetsrelationen måste du hitta och redigera uppslagsfältet separat efter att du har skapat en entitetsrelation. Mer information: Skapa och redigera fält.
Som en tumregel bör Visningsnamn motsvara visningsnamnet för den primära entiteten.
Navigeringsfönsterobjekt för primär entitet
Den primära entiteten kan visa listor över relaterade entiteter om du expanderar navigeringsfönstret. Alternativen i den här gruppen styr hur eller om du vill visa den här listan. Dessa navigeringsobjekt kan även redigeras med hjälp av formulärredigeraren och utvecklare kan, genom att använda JavaScript, tillämpa ändringar på dessa objekt när formuläret visas.
Fält | Beskrivning |
---|---|
Visningsalternativ |
-
Visa inte: Välj det här alternativet om du inte vill att användarna ska kunna navigera till en lista med relaterade entitetsposter. - Använd anpassad etikett: Välj detta alternativ om du vill ange en anpassad etikett för användning. - Använd namn i plural: Välj det här alternativet om du vill använda pluralnamnet för den relaterade entiteten som etikett. |
Anpassad etikett | När du väljer visningsalternativet Använd anpassad etikett anger du den anpassade etikett du vill använda i stället för den relaterade entitetens pluralnamn. |
Visningsområde |
-
Detaljer: Välj det här alternativet om du vill inkludera navigeringsobjektet i gruppen Vanlig. - Marknadsföring: välj det här alternativet om du vill inkludera navigeringsobjektet i gruppen Marknadsföring. - Försäljning: Välj det här alternativet om du vill inkludera navigeringsobjektet i gruppen Försäljning. - Tjänst: Välj det här alternativet om du vill inkludera navigeringsobjektet i gruppen Tjänst. |
Visningsordning | Det här talet styr var navigeringsobjektet kommer att inkluderas i det markerade visningsområdet. Intervallet för tillåtna tal börjar från och med 10 000. Navigeringsfönsterobjekt med ett lägre värde visas ovanför andra relationer med ett högre värde. |
Relationstyp
I en 1 till N-relation kan du styra hur relationen ska hantera affärsregler för organisationen. Varför skulle du vilja göra det? Låt oss titta på ett exempel.
Anta att du har en ny säljare som du vill tilldela ett antal befintliga affärsmöjligheter som för närvarande är tilldelade en annan säljare. Varje affärsmöjlighetspost kan ha ett antal associerade uppgiftsaktiviteter. Du kan enkelt hitta de aktiva affärsmöjligheter du vill omtilldela och tilldela dem till den nya säljaren. Men vad händer för någon av de uppgiftsaktiviteter som är associerade med affärsmöjligheterna? Vill du öppna varje uppgift och besluta om den också ska tilldelas den nya säljaren? Förmodligen inte. I stället kan du låta relationen tillämpa vissa standardregler automatiskt för dig. Dessa regler gäller endast uppgiftsposter som är kopplade till de affärsmöjligheter du omtilldelar. Entitetsrelationen heter Opportunity_Tasks. Dina alternativ är:
Omtilldela alla aktiva uppgifter.
Omtilldela alla uppgifter. Det här är standardbeteendet.
Omtilldela inte någon uppgift.
Omtilldela alla aktiviteter som är tilldelade den förra ägaren för affärsmöjligheten.
Relationen kan styra hur åtgärder som utförs på en post för den primära entitetsposten sprids nedåt till relaterade entitetsposter. Åtgärderna och de möjliga beteendena visas i tabellen nedan.
Åtgärd | Beskrivning | Möjliga beteenden |
---|---|---|
Tilldela | Vad ska hända när den primära entitetsposten byter ägare? | - Kaskad aktiv - Kaskad på alla - Kaskad på ingen - Kaskad på användarägda |
Dela | Vad ska hända när den primära entitetsposten delas? | - Kaskad aktiv - Kaskad på alla - Kaskad på ingen - Kaskad på användarägda |
Ta bort delning | Vad ska hända när delningen av den primära entitetsposten avbryts? | - Kaskad aktiv - Kaskad på alla - Kaskad på ingen - Kaskad på användarägda |
Ny överordnad | Vad ska hända när ett värde för ett uppslagsfält för en överordnad relationstyp i den primära entitetsposten ändras? En överordnad relationstyp är en som använder Kaskad på alla för alla åtgärder. - Kaskad aktiv - Kaskad på alla - Kaskad på ingen - Kaskad på användarägda |
|
Ta bort | Vad ska hända när den primära entitetsposten tas bort? | - Kaskad på alla - Ta bort länk - Begränsa borttagning |
Koppla | Vad ska hända när den primära entitetsposten slås samman med en annan post? | - Kaskad på alla - Kaskad på ingen |
Var och en av dessa åtgärder kan konfigureras för att styra hur åtgärder sprids nedåt till poster som är relaterade till den primära entitetsposten via entitetsrelationen 1 till N. De olika beteendealternativen visas i följande tabell.
Beteende | Beskrivning |
---|---|
Kaskad på aktiva | Utför åtgärden för alla aktiva relaterade entitetsposter. |
Kaskad på alla | Utför åtgärden för alla relaterade entitetsposter. |
Kaskad på inga | Gör ingenting. |
Ta bort koppling | Ta bort värdet för sökfältet för alla relaterade entitetsposter. |
Begränsa borttagning | Förhindra att den primära entitetsposten tas bort när det finns relaterade poster. |
Kaskad på användarägda | Utför åtgärden för alla relaterade entitetsposter som ägs av samma användare som den primära entitetsposten. |
Hur dessa åtgärder tillämpas inom en relation kan kategoriseras eller tillämpas med hjälp av fältvärdena Typ av beteende som beskrivs i följande tabell.
Fältvärde | Beskrivning |
---|---|
Överordnad | Alla åtgärder använder beteendet kaskad på alla. |
Refererande |
Tilldela, dela, ta bort delning och ny överordnad använder beteendet Kaskad på inga. Ta bort använder beteendet ta bort koppling. Koppla använder beteendet kaskad på alla. |
Refererande, begränsa borttagning | Samma som refererande förutom att ta bort använder beteendet begränsa borttagning. |
Konfigurerbar kaskad | Enskilda beteenden kan tilldelas för varje åtgärd. Om alternativen matchar någon av de andra typ av beteende-kategorierna ändras värdet till detta typ-värde. |
Begränsningar som kan anges för beteenden
Det finns vissa begränsningar som du bör tänka på när du definierar relationer mellan entiteter.
En anpassad entitet kan inte vara den primära entiteten i en relation med en relaterad systementitet som är angiven som kaskad. Det innebär att du inte kan ha en relation med någon åtgärd som angetts som Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda mellan en primär anpassad entitet och en relaterad systementitet.
Nya relationer kan inte ha åtgärder som angetts som Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda om den relaterade entiteten i den relationen redan finns som en relaterad entitet i en annan relation som har någon åtgärd med värdet Kaskad på alla, Kaskad på aktiva eller Kaskad på användarägda. Därmed undviks relationer med flera överordningar.
Det går inte att ange eller ändra överlappande sammanslagningar och de är beroende av den entitet som refereras. Om den refererade entiteten är ett konto, en kontaktperson eller ett lead är åtgärden överlappad. Annars gör den det inte.