Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Dues grans categories de canvis en el sistema de definició de taules s'associen amb la introducció de taules virtuals (també conegudes com a entitats virtuals) a Microsoft Dataverse:
- Addició d'un nou assemblador, espais de noms, classes i altres tipus per donar suport al desenvolupament de proveïdors de dades de taules virtuals personalitzats
- Canvis a la plataforma bàsica, incloent-hi algunes altres propietats per donar suport al mapeig extern de fonts de dades, i modificació del comportament de propietats existents de taules i columnes que reflecteixen les limitacions de la implementació inicial d'aquesta funcionalitat
Dynamics 365 Assemblatge de l'SDK de dades
L'assemblatge Dynamics 365 Data SDK, Microsoft.Xrm.Sdk.Data.dll, conté tipus per ajudar en la creació de proveïdors de dades virtuals personalitzats. Comprèn els espais de noms següents:
| Espai de nom | Descripció |
|---|---|
| Microsoft.Xrm.Sdk.Data | Espai de noms base que conté alguns tipus comuns, com ara l'enumeració AllowedQueryOptions |
| Microsoft.Xrm.Sdk.Data.CodeGen | Conté classes i interfícies que admeten la reflexió dinàmica, la coincidència de tipus i la generació de codi. Utilitzat principalment pel motor del proveïdor intern. |
| Microsoft.Xrm.Sdk.Data.Converters | Un conjunt de classes per convertir els tipus XRM estàndard als seus corresponents tipus fonamentals .NET |
| Microsoft.Xrm.Sdk.Data.Exceptions | Un conjunt de classes d'excepció que representen errors que es poden produir durant la resolució de valors en temps d'execució. Tots es deriven de Microsoft.Xrm.Sdk.SdkExceptionBase. |
| Microsoft.Xrm.Sdk.Data.Expressions | Classes per ajudar a implementar les transformacions de consulta suportades, com FILTER, JOIN i ORDER. |
| Microsoft.Xrm.Sdk.Data.Mappings | Classes i interfícies que creen l'assignació de tipus de definició de taula virtual a tipus externs. |
| Microsoft.Xrm.Sdk.Data.Visitors | Classes que implementen el patró de visitant per realitzar operacions específiques al paràmetre QueryExpression passat al proveïdor de dades durant les sol·licituds RetrieveMultiple . Proporciona suport específic tant per a consultes genèriques com per al processament basat en LINQ. Aquestes classes es deriven de Microsoft.Xrm.Sdk.Query.QueryExpressionVisitorBase. |
Aquests espais de noms es troben a l'assemblador inclòs en aquest paquet NuGet: Microsoft.CrmSdk.Data.
Canvis a la plataforma principal
Els canvis següents als tipus de referència estàndard de Dataverse admeten taules virtuals.
Noves taules
Dataverse exposa proveïdors i fonts de dades de taules virtuals com les següents taules: EntityDataProvider i EntityDataSource.
Noves propietats de definició de taula
S'han afegit quatre propietats noves a la EntityMetadata classe:
| Propietat | Descripció |
|---|---|
| DataProviderId | GUID que identifica el proveïdor de dades de la taula virtual associat |
| DataSourceId | GUID que identifica la font de dades de la taula virtual associada |
| ExternalName | Nom d'aquest tipus a la font de dades externa |
| ExternalCollectionName | Nom plural per a aquest tipus, utilitzat a la interfície d'usuari i per admetre l'accés OData |
S'han afegit dues propietats noves a la AttributeMetadata classe:
| Propietat | Descripció |
|---|---|
| ExternalName | Nom del tipus a la font de dades externa |
| IsDataSourceSecret | Indica si el camp conté informació sensible |
La ExternalName propietat també es va afegir a les OptionMetadata classes i OptionSetMetadata Aquests noms externs ajuden a la correspondència de la font de dades externa, especificant el nom del tipus associat a la font de dades externa. Aquestes propietats només s'utilitzen per a taules virtuals. Per a un tipus d'entitat personalitzada integrat o estàndard, aquests noms externs han de ser null.
Creació de taules virtuals
L'enfocament per crear mitjançant programació un tipus de taula virtual difereix lleugerament d'una creació de tipus d'entitat personalitzada estàndard en què
- Si coneixes el proveïdor de dades associat (i opcionalment la font de dades) en el moment de la creació, especifica aquests valors.
- Si no coneixes el proveïdor de dades per a aquest tipus, configura DataProviderId i
7015A531-CC0D-4537-B5F2-C882A1EB65ADconfigura DataSourceId anull. Abans d'utilitzar instàncies d'aquest tipus en temps d'execució, assigna valors adequats a aquestes propietats.
Quan registres un plugin, crees dues taules noves, EntityDataProvider i, opcionalment EntityDataSource, . Els seus respectius IDs, entitydataproviderid i entitydatasourceid, representen aquests GUIDs obligatoris. (Si no, els desenvolupadors rarament necessiten accedir directament a aquests tipus personalitzats.) Cal tenir en compte que DataSource conté la propietat entitydataproviderid que ha de coincidir amb el tipus corresponent de DataProvider o bé es llança una excepció en temps d'execució.
Advertiment
Les taules estàndard (no virtuals) han de tenir els valors associats DataProviderId i DataSourceId establerts als seus valors per defecte (null), en cas contrari es llança una excepció en temps d'execució. Un cop creat, no pots convertir d'un tipus no virtual a un tipus virtual, o a l'inrevés.
Canvis en el comportament de la propietat de definició de taula
La taula següent detalla com canvia el comportament de les propietats estàndard d'EntityMetadata quan s'apliques a taules virtuals. Algunes propietats no són vàlides per a taules virtuals, mentre que d'altres són limitades en abast o valor.
| Propietat de metadades | Aplica? | Notes |
|---|---|---|
| ActivityTypeMask | invàlid | Sempre 0 |
| Atributs | vàlid | |
| AutoCreateAccessTeams | invàlid | Sempre fals |
| AutoRouteToOwnerQueue | invàlid | Sempre fals, les cues no són compatibles. |
| CanBeInManyToMany | vàlid | |
| CanBePrimaryEntityInRelationship | vàlid | |
| CanBeRelatedEntityInRelationship | vàlid | |
| CanChangeHierarchicalRelationship | invàlid | Les relacions sempre falses i jeràrquiques no estan recolzades. |
| CanChangeTrackingBeEnabled | invàlid | Sempre és fals, el seguiment de canvis i els valors d'auditoria no són compatibles. |
| CanCreateAttributes | vàlid | |
| CanCreateCharts | invàlid | Sempre fals |
| CanCreateForms | vàlid | |
| CanCreateViews | vàlid | |
| CanEnableSyncToExternalSearchIndex | invàlid | Sempre fals |
| CanModifyAdditionalSettings | vàlid | |
| CanTriggerWorkflow | invàlid | Sempre fals, els fluxos de treball no es poden activar. |
| Seguiment de canvis activat | invàlid | Sempre fals |
| NomEsquema de la col·lecció | vàlid | |
| DaysSinceRecordLastModified | invàlid | Sempre nul o 0 |
| Descripció | vàlid | |
| DisplayCollectionName | vàlid | |
| Nom de visualització | vàlid | |
| EnforceStateTransitions | invàlid | El codi d'estat i l'estat no són compatibles. |
| EntityColor | vàlid | |
| EntityHelpUrl | vàlid | |
| EntityHelpUrlEnabled | vàlid | |
| EntitySetName | vàlid | |
| ExtensionData | invàlid | Propietat obsoleta |
| Ha canviat | vàlid | |
| IconLargeName | vàlid | |
| IconMediumName | vàlid | |
| IconSmallName | vàlid | |
| Versió introduïda | vàlid | |
| ÉsActivitat | invàlid | Sempre és fals, les activitats no estan suportades. |
| IsActivityParty | invàlid | Sempre fals |
| IsAIRUpdat | invàlid | Obsolet |
| IsAuditEnabled | invàlid | Sempre fals, l'auditoria no està suportada. |
| Està disponible fora de línia | invàlid | Sempre fals, l'ús fora de línia no està suportat. |
| IsBusinessProcessEnabled | invàlid | Sempre fals, els processos empresarials no estan suportats. |
| IsChildEntity | invàlid | Sempre fals, totes les taules virtuals són propietat de l'organització. |
| IsConnectionsEnabled | vàlid | |
| IsCustomEntity | vàlid | |
| ÉsPersonalitzable | vàlid | |
| IsDocumentManagementEnabled | vàlid | |
| IsDocumentRecommendationsEnabled | invàlid | Sempre fals, aquesta nova funció no està suportada. |
| IsDuplicateDetectionEnabled | invàlid | Sempre fals, però es pot realitzar la detecció de duplicats a la font de dades. |
| IsEnabledForCharts | Limitat | Només per a clàusules Fetch admeses. |
| IsEnabledForTrace | vàlid | |
| ÉsImportable | vàlid | |
| IsInteractionCentricEnabled | vàlid | |
| IsIntersect | vàlid | |
| IsKnowledgeManagementEnabled | invàlid | Sempre fals, la integració de la gestió del coneixement no està suportada. |
| IsMailMergeEnabled | vàlid | |
| Està gestionat | vàlid | |
| És mapejable | vàlid | |
| IsOfflineInMobileClient | invàlid | Sempre fals, els valors de les taules virtuals no estan emmagatzemats en memòria cau per a ús fora de línia. |
| IsOneNoteIntegrationEnabled | vàlid | |
| IsOptimisticConcurrencyEnabled | invàlid | Sempre fals, la concurrència s'ha d'implementar a la font de dades. |
| És privat | vàlid | |
| IsQuickCreateEnabled | vàlid | |
| IsReadOnlyInMobileClient | vàlid | |
| IsRenameable | vàlid | |
| IsSLAEnabled | invàlid | Sempre fals |
| IsStateModelAware | invàlid | |
| IsValidForAdvancedFind | vàlid | |
| IsValidForQueue | vàlid | |
| IsVisibleInMobile | vàlid | |
| IsVisibleInMobileClient | vàlid | |
| Claus | invàlid | No es suporten tecles alternatives |
| Nom de la col·lecció lògica | vàlid | |
| Nom lògic | vàlid | |
| ManyToManyRelationships | vàlid | |
| ManyToOneRelationships | vàlid | No s'admet entre dues taules virtuals. |
| MetadataId | vàlid | |
| MòbilFora de líniaFiltres | invàlid | Sempre fals, l'ús fora de línia no està suportat. |
| ObjectTypeCode | vàlid | |
| OneToManyRelationships | vàlid | |
| Tipus de propietat | invàlid | Sempre propietat de l'organització |
| PrimaryIdAttribute | vàlid | |
| PrimaryImageAttribute | vàlid | |
| Atribut NomPrimari | vàlid | |
| Privilegis | invàlid | |
| RecurrenceBaseEntityLogicalName | invàlid | |
| InformeViewName | invàlid | |
| Nom de l'esquema | vàlid | |
| SyncToExternalSearchIndex | invàlid |
Canvis en el comportament de la propietat de definició de columna
La taula següent explica com canvia el comportament de les propietats estàndard d'AttributeMetadata quan s'apliques a taules virtuals. Algunes propietats no són vàlides per a taules virtuals, mentre que d'altres tenen un abast o valor limitats.
| Propietat de metadades | Aplica? | Notes |
|---|---|---|
| ColumnNumber | invàlid | |
| Versió obsoleta | vàlid | |
| Descripció | vàlid | |
| Nom de visualització | vàlid | |
| EntityLogicalName | vàlid | |
| ExtensionData | invàlid | |
| Ha canviat | vàlid | |
| HeretaDe | vàlid | |
| Versió introduïda | vàlid | |
| IsAuditEnabled | invàlid | Sempre fals, l'auditoria no està suportada. |
| IsCustomAttribute | vàlid | |
| ÉsPersonalitzable | vàlid | |
| IsFilterable | vàlid | |
| IsGlobalFilterEnabled | vàlid | |
| És lògic | vàlid | |
| Està gestionat | vàlid | |
| IsPrimaryId | vàlid | |
| IsPrimaryName | vàlid | |
| IsRenameable | vàlid | |
| IsSearchable | vàlid | |
| Està segur | invàlid | Sempre fals, la seguretat a nivell de camp no està suportada. |
| IsSortableEnabled | vàlid | |
| IsValidForAdvancedFind | vàlid | |
| IsValidForCreate | vàlid | |
| IsValidForRead | vàlid | |
| IsValidForUpdate | vàlid | |
| LinkedAttributeId | vàlid | |
| Nom lògic | vàlid | |
| MetadataId | vàlid | |
| Nivell obligatori | vàlid | |
| Nom de l'esquema | vàlid | |
| Tipus d'origen | invàlid | Sempre no es donen suport a 0, valors calculats o de rollup. |
Consulteu també
Introducció a les entitats virtuals
Proveïdors de dades de taules virtuals personalitzades
Exemple: complement genèric del proveïdor de dades de la taula virtual