API aspektai virtualioms lentelėms

Dvi plačios lentelės apibrėžimo sistemos pakeitimų kategorijos yra susijusios su virtualių lentelių (taip pat žinomų kaip virtualūs objektai) įvedimu "Microsoft Dataverse":

  • Naujo rinkinio, vardų sričių, klasių ir kitų tipų pridėjimas, padedantis kurti pasirinktinius virtualių lentelių duomenų teikėjus
  • Pagrindinės platformos pakeitimai, įskaitant keletą kitų ypatybių, palaikančių išorinių duomenų šaltinių susiejimą, ir esamų lentelių ir stulpelių ypatybių, atspindinčių pradinio šios funkcijos diegimo apribojimus, veikimo modifikavimas

"Dynamics 365 Data SDK" rinkinys

"Dynamics 365 Data SDK" rinkinyje Microsoft.Xrm.Sdk.Data.dll yra tipų, padedančių kurti pasirinktinius virtualių lentelių duomenų teikėjus. Jį sudaro šios vardų sritys:

Vardų sritis Aprašas
Microsoft.Xrm.Sdk.Data Pagrindinė vardų sritis, kurioje yra keli įprasti tipai, pvz., AllowedQueryOptions išvardijimas
Microsoft.Xrm.Sdk.Data.CodeGen Yra klasių ir sąsajų, palaikančių dinaminį atspindį, tipų atitikimą ir kodo generavimą. Daugiausia naudojamas vidinio tiekėjo variklio.
Microsoft.Xrm.Sdk.Data.Converters Klasių rinkinys, skirtas konvertuoti standartinius XRM tipus į atitinkamus .NET pagrindinius tipus
Microsoft.Xrm.Sdk.Data.Exceptions Išimčių klasių rinkinys, nurodantis klaidas, kurios gali atsirasti sprendžiant vykdymo laiko reikšmes. Visi yra išvesti iš Microsoft.Xrm.Sdk.SdkExceptionBase.
Microsoft.Xrm.Sdk.Data.Expressions Klasės, padedančios įgyvendinti palaikomas užklausų transformacijas, pvz., FILTER, JOIN ir ORDER.
Microsoft.Xrm.Sdk.Data.Mappings Klasės ir sąsajos, kurios sukuria susiejimą iš virtualių lentelių apibrėžimo tipų į išorinius tipus.
Microsoft.Xrm.Sdk.Data.Visitors Klasės, kurios įgyvendina lankytojo šabloną , kad atliktų konkrečias operacijas su parametru QueryExpression , perduodamas duomenų teikėjui per RetrieveMultiple užklausas. Teikia specifinį palaikymą tiek bendrajai užklausai, tiek LINQ pagrįstam apdorojimui. Šios klasės yra išvestos iš Microsoft.Xrm.Sdk.Query.QueryExpressionVisitorBase.

Šios vardų sritys yra rinkinyje, įtrauktame į šį "NuGet" paketą: Microsoft.CrmSdk.Data.

Pagrindinės platformos pakeitimai

Šie standartinių "Dataverse" nuorodų tipų pakeitimai palaiko virtualias lenteles.

Naujos lentelės

"Dataverse" virtualiųjų lentelių duomenų teikėjus ir šaltinius atskleidžia kaip šias lenteles: EntityDataProvider ir EntityDataSource.

Naujos lentelės apibrėžimo ypatybės

Į klasę buvo įtrauktos keturios EntityMetadata naujos savybės:

Ypatybė Aprašas
DataProviderId GUID, identifikuojantis susietą virtualiosios lentelės duomenų teikėją
DataSourceId GUID, identifikuojantis susietą virtualiosios lentelės duomenų šaltinį
ExternalName Šio tipo pavadinimas išoriniame duomenų šaltinyje
ExternalCollectionName Šio tipo daugiskaitos pavadinimas, naudojamas vartotojo sąsajoje ir palaikant OData prieigą

Į klasę buvo įtrauktos AttributeMetadata dvi naujos savybės:

Ypatybė Aprašas
ExternalName Išorinio duomenų šaltinio tipo pavadinimas
IsDataSourceSecret Nurodo, ar lauke yra slaptos informacijos

Nuosavybė ExternalName taip pat buvo įtraukta į OptionMetadata ir OptionSetMetadata klases. Šie išoriniai pavadinimai padeda susieti išorinį duomenų šaltinį, nurodydami susieto tipo pavadinimą išoriniame duomenų šaltinyje. Šios ypatybės naudojamos tik virtualioms lentelėms. Įtaisytojo arba standartinio pasirinktinio objekto tipo šie išoriniai pavadinimai turi būti null.

Virtualių stalų kūrimas

Virtualios lentelės tipo programinio kūrimo metodas šiek tiek skiriasi nuo standartinio pasirinktinio objekto tipo kūrimo, nes:

  • Jei kūrimo metu žinote susietą duomenų teikėją (ir pasirinktinai duomenų šaltinį), nurodykite šias reikšmes.
  • Jei nežinote šio tipo duomenų teikėjo, nustatykite DataProviderId7015A531-CC0D-4537-B5F2-C882A1EB65AD ir nustatykite .DataSourceIdnull Prieš naudodami šio tipo egzempliorius vykdymo metu, priskirkite šioms ypatybėms atitinkamas reikšmes.

Registruodami papildinį, sukuriate dvi naujas lenteles: EntityDataProvider ir pasirinktinai EntityDataSource. Jų atitinkami ID entitydataproviderid ir entitydatasourceid, atspindi šiuos reikalingus GUID. (Priešingu atveju kūrėjams retai reikia tiesiogiai pasiekti šiuos pasirinktinius tipus.) Atkreipkite dėmesį, kad DataSource yra ypatybė entitydataproviderid , kuri turi atitikti atitinkamą DataProvider tipą, kitaip pateikiama vykdymo laiko išimtis.

Perspėjimas

Standartinių (nevirtualių) lentelių reikšmės turi būti susietos DataProviderId ir DataSourceId nustatytos numatytosios reikšmės (null), kitaip pateikiama vykdymo laiko išimtis. Sukūrę negalite konvertuoti iš nevirtualaus tipo į virtualų tipą arba atvirkščiai.

Lentelės apibrėžimo ypatybės veikimo pokyčiai

Šioje lentelėje išsamiai aprašoma, kaip keičiasi standartinių EntityMetadata ypatybių veikimas, kai jas pritaikote virtualioms lentelėms. Kai kurios ypatybės negalioja virtualioms lentelėms, o kitos yra ribotos apimties ar vertės.

Metaduomenų ypatybė Taikoma? Pastabos
ActivityTypeMask Neleistinas Visada 0
Atributai Galioja
AutoCreateAccessTeams Neleistinas Visada klaidinga
AutoRouteToOwnerQueue Neleistinas Visada klaidinga, eilės nepalaikomos.
CanBeInManyToMany Galioja
CanBePrimaryEntityInRelationship Galioja
CanBeRelatedEntityInRelationship Galioja
CanChangeHierarchicalRelationship Neleistinas Visada klaidingi, hierarchiniai ryšiai nepalaikomi.
CanChangeTrackingBeEnabled Neleistinas Visada klaidingos, keitimų sekimo ir tikrinimo reikšmės nepalaikomos.
CanCreateAttributes Galioja
CanCreateCharts Neleistinas Visada klaidinga
CanCreateForms Galioja
CanCreateViews Galioja
CanEnableSyncToExternalSearchIndex Neleistinas Visada klaidinga
CanModifyAdditionalSettings Galioja
CanTriggerWorkflow Neleistinas Visada klaidinga, darbo eigos negali būti suaktyvintos.
Įgalintas pakeitimų stebėjimas Neleistinas Visada klaidinga
CollectionSchemaName Galioja
DienosNuoĮrašasPaskutinisModifikuotas Neleistinas Visada nulis arba 0
Aprašas Galioja
DisplayCollectionName Galioja
DisplayName Galioja
Vykdyti būsenos perėjimus Neleistinas StateCode ir Status nepalaikomi.
Objekto spalva Galioja
EntityHelpUrl Galioja
EntityHelpUrlEnabled Galioja
EntitySetName Galioja
Plėtinio duomenys Neleistinas Nebenaudojama ypatybė
Pasikeitė Galioja
IconLargeName Galioja
IconMediumName Galioja
IconSmallName Galioja
Pristatyta versija Galioja
Veikla Neleistinas Visada klaidinga, veikla nepalaikoma.
IsActivityParty Neleistinas Visada klaidinga
Papildyta Neleistinas Pasenę
Įgalintas Auditas Neleistinas Visada klaidinga, auditas nepalaikomas.
IsAvailableOffline Neleistinas Visada klaidingas, naudojimas neprisijungus nepalaikomas.
IsBusinessProcessEnabled Neleistinas Visada klaidingi, verslo procesai nepalaikomi.
Vaiko subjektas Neleistinas Visada klaidinga, visos virtualios lentelės priklauso organizacijai.
IsConnectionsEnabled Galioja
IsCustomEntity Galioja
Yra pritaikomas Galioja
IsDocumentManagementEnabled Galioja
IsDocumentRecommendationsEnabled Neleistinas Visada klaidinga, ši nauja funkcija nepalaikoma.
IsDuplicateDetectionEnabled Neleistinas Visada klaidinga, bet dublikatų aptikimas gali būti atliekamas duomenų šaltinyje.
IsEnabledForCharts Ribotas Tik palaikomoms "Fetch" sąlygoms.
IsEnabledForTrace Galioja
Importuojama Galioja
IsInteractionCentricEnabled Galioja
IsSusikirsti Galioja
IsKnowledgeManagementEnabled Neleistinas Visada klaidinga, žinių valdymo integracija nepalaikoma.
IsMailMergeEnabled Galioja
IsManaged Galioja
IsMappable Galioja
IsOfflineInMobileClient Neleistinas Visada klaidingos, virtualios lentelės reikšmės nėra talpykloje, kad būtų galima naudoti neprisijungus.
IsOneNoteIntegrationEnabled Galioja
IsOptimisticConcurrencyEnabled Neleistinas Visada klaidinga, sutapimas turi būti įdiegtas duomenų šaltinyje.
"IsPrivate" Galioja
IsQuickCreateEnabled Galioja
IsReadOnlyInMobileClient Galioja
Yra pervardijamas Galioja
IsSLAEnabled Neleistinas Visada klaidinga
IsStateModelAware Neleistinas
IsValidForAdvancedFind Galioja
IsValidForQueue Galioja
IsVisibleInMobile Galioja
IsVisibleInMobileClient Galioja
Raktai Neleistinas Alternatyvūs raktai nepalaikomi
LogicalCollectionName Galioja
Loginis pavadinimas Galioja
DaugelisDaugelisRyšiai Galioja
DaugelisToOneSantykiai Galioja Nepalaikoma tarp dviejų virtualių stalų.
MetadataId Galioja
"MobileOffline" filtrai Neleistinas Visada klaidingas, naudojimas neprisijungus nepalaikomas.
Objekto tipo kodas Galioja
Vienas su daugeliu santykių Galioja
Nuosavybės tipas Neleistinas Visada priklausanti organizacijai
Pirminis IdAtributas Galioja
PirminisVaizdasAtributas Galioja
PirminisVardasAtributas Galioja
Teisės Neleistinas
RecurrenceBaseEntityLogicalName Neleistinas
ReportViewName Neleistinas
Schemos pavadinimas Galioja
SyncToExternalSearchIndex Neleistinas

Stulpelio apibrėžimo ypatybės veikimo pokyčiai

Šioje lentelėje paaiškinama, kaip keičiasi standartinių AttributeMetadata ypatybių veikimas, kai jas pritaikote virtualioms lentelėms. Kai kurios ypatybės negalioja virtualioms lentelėms, o kitos turi ribotą aprėptį ar reikšmę.

Metaduomenų ypatybė Taikoma? Pastabos
Stulpelio numeris Neleistinas
Nebenaudojama versija Galioja
Aprašas Galioja
DisplayName Galioja
EntityLogicalName Galioja
Plėtinio duomenys Neleistinas
Pasikeitė Galioja
Paveldėjimas iš Galioja
Pristatyta versija Galioja
Įgalintas Auditas Neleistinas Visada klaidinga, auditas nepalaikomas.
IsCustomAttribute Galioja
Yra pritaikomas Galioja
Yra filtruojamas Galioja
IsGlobalFilterEnabled Galioja
Yra logiška Galioja
IsManaged Galioja
IsPrimaryId Galioja
IsPrimaryName Galioja
Yra pervardijamas Galioja
Galima ieškoti Galioja
Yra apsaugotas Neleistinas Visada klaidinga, lauko lygio sauga nepalaikoma.
IsSortableEnabled Galioja
IsValidForAdvancedFind Galioja
IsValidForCreate Galioja
IsValidForRead Galioja
IsValidForUpdate Galioja
LinkedAttributeId Galioja
Loginis pavadinimas Galioja
MetadataId Galioja
Būtinaslygis Galioja
Schemos pavadinimas Galioja
Šaltinio tipas Neleistinas Visada 0, apskaičiuotosios arba apibendrinimo reikšmės nepalaikomos.

Taip pat žiūrėkite

Darbo su virtualiais objektais pradžia
Pasirinktiniai virtualios lentelės duomenų teikėjai
Pavyzdys: bendrasis virtualiosios lentelės duomenų teikėjo priedas