Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Der er knyttet to brede kategorier af ændringer til tabeldefinitionssystemet til introduktionen af virtuelle tabeller (også kaldet virtuelle objekter) i Microsoft Dataverse:
- Tilføjelse af en ny assembly, navneområder, klasser og andre typer for at understøtte udvikling af brugerdefinerede udbydere af virtuelle tabeldata
- Ændringer af kerneplatformen, herunder et par andre egenskaber, der understøtter tilknytning af eksterne datakilder, og ændring af funktionsmåder for eksisterende tabel- og kolonneegenskaber, der afspejler begrænsningerne i den indledende implementering af denne funktion
Dynamics 365 Data SDK-assemblyen
Dynamics 365 Data SDK-assemblyen, indeholder typer, Microsoft.Xrm.Sdk.Data.dllder kan hjælpe med at oprette brugerdefinerede udbydere af virtuelle tabeldata. Det består af følgende navneområder:
| Navneområde | Description |
|---|---|
| Microsoft.Xrm.Sdk.Data | Base-navneområde, der indeholder nogle få almindelige typer, såsom enumerationen AllowedQueryOptions |
| Microsoft.Xrm.Sdk.Data.CodeGen | Indeholder klasser og grænseflader, der understøtter dynamisk refleksion, typematchning og generering af kode. Primært bruges af den interne udbyder motor. |
| Microsoft.Xrm.Sdk.Data.Converters | Et sæt klasser, der konverterer XRM-standardtyper til deres tilsvarende grundlæggende .NET-typer |
| Microsoft.Xrm.Sdk.Data.Exceptions | Et sæt undtagelsesklasser, der repræsenterer fejl, der kan opstå under kørselsværdiopløsning. Alle er afledt af Microsoft.Xrm.Sdk.SdkExceptionBase. |
| Microsoft.Xrm.Sdk.Data.Expressions | Klasser, der hjælper med at implementere de understøttede forespørgselstransformationer, f.eks. FILTER, JOIN og ORDER. |
| Microsoft.Xrm.Sdk.Data.Mappings | Klasser og grænseflader, der bygger tilknytningen fra definitionstyper for virtuelle tabeller til eksterne typer. |
| Microsoft.Xrm.Sdk.Data.Visitors | Klasser, der implementerer det besøgende mønster for at udføre bestemte handlinger på parameteren QueryExpression , der overføres til dataprovideren under RetrieveMultiple-anmodninger . Giver specifik understøttelse af både generisk forespørgsel og LINQ-baseret behandling. Disse klasser er afledt af Microsoft.Xrm.Sdk.Query.QueryExpressionVisitorBase. |
Distribuer denne assembly som en NuGet-pakke: Microsoft.CrmSdk.Data.
Ændringer af kerneplatformen
Følgende ændringer af standardreferencetyperne for Dataverse understøtter virtuelle tabeller.
Nye tabeller
Dataverse fremviser virtuelle tabeldataprovidere og -kilder som følgende tabeller: EntityDataProvider og EntityDataSource.
Nye egenskaber for tabeldefinition
Der blev føjet fire nye egenskaber til EntityMetadata klassen:
| Egenskab | Description |
|---|---|
| DataProviderId | GUID, der identificerer den tilknyttede udbyder af virtuelle tabeldata |
| DataSourceId | GUID, der identificerer datakilden for den tilknyttede virtuelle tabel |
| ExternalName | Navn på denne type i den eksterne datakilde |
| ExternalCollectionName | Flertalsnavn for denne type, der bruges i brugergrænsefladen og til at understøtte OData-adgang |
Der blev føjet to nye egenskaber til AttributeMetadata klassen:
| Egenskab | Description |
|---|---|
| ExternalName | Navnet på typen i den eksterne datakilde |
| IsDataSourceSecret | Angiver, om feltet indeholder følsomme oplysninger |
Egenskaben ExternalName blev også føjet til klasserne OptionMetadata og OptionSetMetadata . Disse eksterne navne hjælper den eksterne datakildetilknytning ved at angive navnet på den tilknyttede type i den eksterne datakilde. Disse egenskaber bruges kun til virtuelle tabeller. For en indbygget eller standard brugerdefineret objekttype skal disse eksterne navne være null.
Oprettelse af virtuel tabel
Tilgangen til at oprette en virtuel tabeltype programmeringsmæssigt adskiller sig en smule fra oprettelsen af en brugerdefineret standardenhedstype ved at:
- Hvis du kender den tilknyttede dataprovider (og eventuelt datakilden) på oprettelsestidspunktet, skal du angive disse værdier.
- Hvis du ikke kender dataprovideren for denne type, skal du angive DataProviderId til
7015A531-CC0D-4537-B5F2-C882A1EB65ADog indstille DataSourceId tilnull. Før du bruger forekomster af denne type på kørselstidspunktet, skal du tildele disse egenskaber relevante værdier.
Når du registrerer en plug-in, opretter du to nye tabeller, EntityDataProvider og eventuelt EntityDataSource. Deres respektive id'er entitydataproviderid og entitydatasourceidrepræsenterer disse påkrævede GUID'er. Ellers har udviklere sjældent brug for at få adgang til disse brugerdefinerede typer direkte. Bemærk, at DataSource indeholder den egenskab entitydataproviderid , der skal svare til den tilsvarende DataProvider-type, eller at der udløses en kørselsundtagelse.
Advarsel!
Standardtabeller (ikke-virtuelle) skal have værdierne for deres tilknyttede DataProviderId og DataSourceId angivet til deres standardværdier (null), ellers udløses der en kørselsundtagelse. Når den er oprettet, kan du ikke konvertere fra en ikke-virtuel type til en virtuel type eller omvendt.
Ændringer i funktionsmåden for tabeldefinitionsegenskaber
Følgende tabel indeholder oplysninger om, hvordan funktionsmåden for standardegenskaberne EntityMetadata ændres, når du anvender dem på virtuelle tabeller. Nogle egenskaber er ikke gyldige for virtuelle tabeller, mens andre er begrænset i omfang eller værdi.
| Metadataegenskab | Gælder? | Noter |
|---|---|---|
| Aktivitetstypemaske | ugyldig | Altid 0 |
| Attributter | gyldig | |
| AutoOpretAccessTeams | ugyldig | Altid falsk |
| AutoRouteToOwnerQueue | ugyldig | Altid falsk. Køer understøttes ikke. |
| CanBeInManyToMany | gyldig | |
| CanBePrimaryEntityInRelationship | gyldig | |
| CanBeRelatedEntityInRelationship | gyldig | |
| KanÆndreHierarkiskForhold | ugyldig | Altid falsk, hierarkiske relationer understøttes ikke. |
| CanChangeTrackingBeEnabled | ugyldig | Altid false, ændringssporing og overvågningsværdier understøttes ikke. |
| CanCreateAttributes | gyldig | |
| CanCreateCharts | ugyldig | Altid falsk |
| CanCreateForms | gyldig | |
| CanCreateViews | gyldig | |
| KanAktivereSynkroniseringTilEksternSøgeIndeks | ugyldig | Altid falsk |
| CanModifyAdditionalSettings | gyldig | |
| CanTriggerWorkflow | ugyldig | Altid falsk, arbejdsprocesser kan ikke udløses. |
| ÆndringssporingAktiveret | ugyldig | Altid falsk |
| CollectionSchemaName | gyldig | |
| AntalDageSidenPostSidstÆndret | ugyldig | Altid null eller 0 |
| Description | gyldig | |
| DisplayCollectionName | gyldig | |
| DisplayName | gyldig | |
| Gennemtving tilstandsovergange | ugyldig | StateCode og Status understøttes ikke. |
| EntitetFarve | gyldig | |
| EntityHelpUrl | gyldig | |
| EntitetHjælpUrlAktiveret | gyldig | |
| EntitySetName | gyldig | |
| ExtensionData | ugyldig | Frarådet egenskab |
| HarÆndret | gyldig | |
| IconLargeName | gyldig | |
| IconMediumName | gyldig | |
| IconSmallName | gyldig | |
| IntroducedVersion | gyldig | |
| IsAktivitet | ugyldig | Altid falsk, aktiviteter understøttes ikke. |
| IsActivityParty | ugyldig | Altid falsk |
| IsAIRUpdated | ugyldig | Frarådet |
| IsAuditEnabled | ugyldig | Altid falsk. Overvågning understøttes ikke. |
| ErTilgængeligOffline | ugyldig | Altid falsk. Offlinebrug understøttes ikke. |
| IsForretningsprocesAktiveret | ugyldig | Altid falsk, forretningsprocesser understøttes ikke. |
| IsChildEntity | ugyldig | Altid falsk. Alle virtuelle tabeller ejes af organisationen. |
| ErForbindelserAktiveret | gyldig | |
| IsCustomEntity | gyldig | |
| IsCustomizable | gyldig | |
| ErDokumenthåndteringAktiveret | gyldig | |
| IsDocumentRecommendationsEnabled | ugyldig | Altid falsk. Denne nye funktion understøttes ikke. |
| IsDuplicateDetectionEnabled | ugyldig | Altid falsk, men detektion af dubletter kan udføres i datakilden. |
| ErAktiveretForDiagrammer | begrænset | Kun for understøttede Fetch-delsætninger. |
| IsEnabledForTrace | gyldig | |
| Kan importeres | gyldig | |
| IsInteractionCentricEnabled | gyldig | |
| IsIntersect | gyldig | |
| ErVidensstyring aktiveret | ugyldig | Altid falsk, integration af videnstyring understøttes ikke. |
| IsMailMergeEnabled | gyldig | |
| IsManaged | gyldig | |
| IsMappable | gyldig | |
| IsOfflineInMobileClient | ugyldig | Altid false, virtuelle tabelværdier cachelagres ikke til offlinebrug. |
| ErOneNoteIntegrationAktiveret | gyldig | |
| ErOptimistiskSamtidighedAktiveret | ugyldig | Altid falsk. Samtidighed skal implementeres i datakilden. |
| IsPrivate | gyldig | |
| ErQuickCreateAktiveret | gyldig | |
| IsReadOnlyInMobileClient | gyldig | |
| IsRenameable | gyldig | |
| IsSLAEnabled | ugyldig | Altid falsk |
| IsStateModelAware | ugyldig | |
| IsValidForAdvancedFind | gyldig | |
| IsValidForQueue | gyldig | |
| IsVisibleInMobile | gyldig | |
| IsVisibleInMobileClient | gyldig | |
| Nøgler | ugyldig | Alternative nøgler understøttes ikke |
| LogiskSamlingsnavn | gyldig | |
| LogicalName | gyldig | |
| ManyToManyRelationships | gyldig | |
| MangeToOneRelationships | gyldig | Understøttes ikke mellem to virtuelle tabeller. |
| MetadataId | gyldig | |
| MobileOfflineFilters | ugyldig | Altid falsk. Offlinebrug understøttes ikke. |
| ObjectTypeCode | gyldig | |
| OneToManyRelationships | gyldig | |
| Ejerskabstype | ugyldig | Altid organisationejer |
| PrimærIdAttribut | gyldig | |
| PrimaryImageAttribute | gyldig | |
| PrimærnavnAttribut | gyldig | |
| Rettigheder | ugyldig | |
| RecurrenceBasisEntitetLogiskNavn | ugyldig | |
| ReportViewName | ugyldig | |
| SchemaName | gyldig | |
| SyncToExternalSearchIndex | ugyldig |
Funktionsmåden for kolonnedefinitionsegenskaben ændres
I følgende tabel forklares det, hvordan funktionsmåden for standardegenskaberne AttributeMetadata ændres, når du anvender dem på virtuelle tabeller. Nogle egenskaber er ikke gyldige for virtuelle tabeller, mens andre har begrænset omfang eller værdi.
| Metadataegenskab | Gælder? | Noter |
|---|---|---|
| Kolonnenummerering | ugyldig | |
| ForældetVersion | gyldig | |
| Description | gyldig | |
| DisplayName | gyldig | |
| EntityLogicalName | gyldig | |
| ExtensionData | ugyldig | |
| HarÆndret | gyldig | |
| InheritsFrom | gyldig | |
| IntroducedVersion | gyldig | |
| IsAuditEnabled | ugyldig | Altid falsk. Overvågning understøttes ikke. |
| IsCustomAttribute | gyldig | |
| IsCustomizable | gyldig | |
| Kan filtreres | gyldig | |
| ErGlobalFilterAktiveret | gyldig | |
| IsLogical | gyldig | |
| IsManaged | gyldig | |
| IsPrimaryId | gyldig | |
| IsPrimaryName | gyldig | |
| IsRenameable | gyldig | |
| IsSearchable | gyldig | |
| IsSecured | ugyldig | Altid falsk, sikkerhed på feltniveau understøttes ikke. |
| IsSortableAktiveret | gyldig | |
| IsValidForAdvancedFind | gyldig | |
| IsValidForCreate | gyldig | |
| IsValidForRead | gyldig | |
| IsValidForUpdate | gyldig | |
| LinkedAttributeId | gyldig | |
| LogicalName | gyldig | |
| MetadataId | gyldig | |
| Påkrævet niveau | gyldig | |
| SchemaName | gyldig | |
| Kildetype | ugyldig | Altid 0, beregnede værdier eller akkumuleringsværdier understøttes ikke. |
Se også
Introduktion til virtuelle objekter
Brugerdefinerede virtuelle tabeldataprovidere
Eksempel: Plug-in til generisk virtuel tabeldataprovider