API kaalutlused virtuaaltabelite puhul

Kaks laia kategooriat muudatusi tabeli määratlemise süsteemis on seotud virtuaaltabelite (tuntud ka kui virtuaalsete üksuste) kasutuselevõtuga Microsoft Dataverse'is:

  • Uue assamblee, nimeruumide, klasside ja muude tüüpide lisamine, et toetada kohandatud virtuaalsete tabelite andmepakkujate arendamist
  • Muudatused põhiplatvormis, sealhulgas mõned muud omadused, mis toetavad väliste andmeallikate kaardistamist, ning olemasolevate tabeli- ja veeruomaduste käitumise muutmist, mis peegeldavad selle funktsiooni esialgse rakenduse piiranguid

Dynamics 365 Data SDK assembly

Dynamics 365 Data SDK komplekt, Microsoft.Xrm.Sdk.Data.dll, sisaldab tüüpe, mis aitavad luua kohandatud virtuaalseid tabeli andmepakkujaid. See koosneb järgmistest nimeruumidest:

Nimeruum Kirjeldus
Microsoft.Xrm.Sdk.Data Baasnimeruum, mis sisaldab mõnda levinud tüüpi (nt loend AllowedQueryOptions )
Microsoft.Xrm.Sdk.Data.CodeGen Sisaldab klasse ja liideseid, mis toetavad dünaamilist peegeldust, tüüpide sobitamist ja koodi genereerimist. Peamiselt kasutab sisemine pakkuja mootor.
Microsoft.Xrm.Sdk.Data.Converters Klasside komplekt, mis teisendab standardseid XRM-tüüpe vastavateks .NET põhitüüpideks
Microsoft.Xrm.Sdk.Data.Exceptions Erandiklasside kogum, mis tähistab tõrkeid, mis võivad ilmneda käitusaja väärtuse lahendamise ajal. Kõik on tuletatud Microsoft.Xrm.Sdk.SdkExceptionBase'ist.
Microsoft.Xrm.Sdk.Data.Expressions Klassid, mis aitavad rakendada toetatud päringu teisendusi, nagu FILTER, JOIN ja ORDER.
Microsoft.Xrm.Sdk.Data.Mappings Klassid ja liidesed, mis koostavad vastendamise virtuaalse tabeli definitsioonitüüpidest väliste tüüpideni.
Microsoft.Xrm.Sdk.Data.Visitors Klassid, mis rakendavad külastaja mustrit , et teha konkreetseid toiminguid parameetriga QueryExpression , mis edastatakse andmepakkujale RetrieveMultiple päringute ajal. Pakub spetsiifilist tuge nii üldise päringu kui ka LINQ-põhise töötlemise jaoks. Need klassid on tuletatud Microsoft.Xrm.Sdk.Query.QueryExpressionVisitorBase.

Need nimeruumid asuvad selle NuGet paketi komplektis: Microsoft.CrmSdk.Data.

Põhiplatvormi muudatused

Järgnevad muudatused standardsetes Dataverse'i viitetüüpides toetavad virtuaaltabeleid.

Uued tabelid

Dataverse esitab virtuaalsed tabeli andmepakkujad ja allikad järgmiste tabelitena: EntityDataProvider ja EntityDataSource.

Uued tabeli definitsiooni atribuudid

Klassi lisati EntityMetadata neli uut omadust:

Atribuut Kirjeldus
DataProviderId GUID, mis tuvastab seostatud virtuaalse tabeli andmepakkuja
DataSourceId GUID, mis tuvastab seostatud virtuaalse tabeli andmeallika
ExternalName Selle tüübi nimi välises andmeallikas
ExternalCollectionName Selle tüübi mitmuse nimi, mida kasutatakse kasutajaliideses ja OData-juurdepääsu toetamiseks

Klassi lisati AttributeMetadata kaks uut omadust:

Atribuut Kirjeldus
ExternalName Tüübi nimi välises andmeallikas
IsDataSourceSecret Näitab, kas väli sisaldab tundlikku teavet.

Kinnistu ExternalName lisati OptionMetadata ka klassidesse OptionSetMetadata . Need välised nimetused aitavad välise andmeallika kaardistamisel, määrates vastava tüübi nime välises andmeallikas. Neid omadusi kasutatakse ainult virtuaaltabelite puhul. Sisseehitatud või standardse kohandatud entiteedi tüübi puhul peavad need välised nimed olema null.

Virtuaalse tabeli loomine

Virtuaalse tabelitüübi programmilise loomise lähenemisviis erineb veidi tavalisest kohandatud olemitüübi loomisest selle poolest, et:

  • Kui teate vastavat andmepakkujat (ja valikuliselt andmeallikat) loomise ajal, määrake need väärtused.
  • Kui sa ei tea selle tüübi andmepakkujat, sea DataProviderId ja 7015A531-CC0D-4537-B5F2-C882A1EB65ADDataSourceId sea .null Enne selle tüübi instantside kasutamist käitusajal määra neile omadustele sobivad väärtused.

Kui registreerid plugina, lood kaks uut tabelit: EntityDataProvider ja soovi korral EntityDataSource. Nende vastavad ID-d entitydataproviderid ja entitydatasourceid, tähistavad neid nõutud GUID-e. (Muidu ei pea arendajad neid kohandatud tüüpe peaaegu kunagi otseselt kasutama.) Pane tähele, et DataSource sisaldab omadust entitydataproviderid , mis peab vastama vastavale DataProvider tüübile, vastasel juhul visatakse jooksuaegne erand.

Hoiatus

Standardsed (mittevirtuaalsed) tabelid peavad omama oma seotud DataProviderId väärtusi ja DataSourceId seatud vaikimisi väärtusteks (null), vastasel juhul visatakse käitusaegne erand. Kui see on loodud, ei saa sa mitte-virtuaalsest tüübist virtuaalseks konverteerida ega vastupidi.

Tabeli definitsiooni atribuudi käitumise muutused

Järgmine tabel kirjeldab, kuidas standardsete EntityMetadata omaduste käitumine muutub, kui neid rakendada virtuaaltabelitele. Mõned omadused ei kehti virtuaaltabelite jaoks, teised aga piiratud ulatuse või väärtusega.

Metaandmete atribuut Kehtib? Märkmed
ActivityTypeMask Sobimatu Alati 0
Atribuudid Kehtiv
AutoCreateAccessTeams Sobimatu Alati vale
AutoRouteToOwnerQueue Sobimatu Alati vale, järjekordi ei toetata.
CanBeInManyToMany Kehtiv
CanBePrimaryEntityInRelationship Kehtiv
CanBeRelatedEntityInRelationship Kehtiv
CanChangeHierarchyRelationship Sobimatu Alati vale, hierarhilised suhted ei ole toetatud.
CanChangeTrackingBeEnabled Sobimatu Alati vale, muudatuste jälgimine ja auditeerimise väärtused ei ole toetatud.
CanCreateAttributes Kehtiv
CanCreateCharts Sobimatu Alati vale
CanCreateForms Kehtiv
CanCreateViews Kehtiv
CanEnableSyncToExternalSearchIndex Sobimatu Alati vale
CanModifyAdditionalSettings Kehtiv
CanTriggeri töövoog Sobimatu Alati vale, töövooge ei saa käivitada.
ChangeTrackingEnabled Sobimatu Alati vale
CollectionSchemaName Kehtiv
DaysSinceRecordLastModified Sobimatu Alati null või 0
Kirjeldus Kehtiv
DisplayCollectionName Kehtiv
Kuvatav nimi Kehtiv
EnforceStateTransitions Sobimatu StateCode ja Status ei ole toetatud.
Olemi värv Kehtiv
Üksuse abiaadress Kehtiv
EntityHelpUrlEnabled Kehtiv
Olemikomplekti nimi Kehtiv
Laienduse andmed Sobimatu Aegunud atribuut
On muutunud Kehtiv
IconLargeName Kehtiv
IconMediumName Kehtiv
IconSmallName Kehtiv
Tutvustatud versioon Kehtiv
On tegevus Sobimatu Alati vale, tegevusi ei toetata.
OnActivityParty Sobimatu Alati vale
OnAIRUpdate Sobimatu Aegunud
IsAuditEnabled Sobimatu Alati vale, auditeerimist ei toetata.
OnAvailableOffline Sobimatu Alati vale, offline-kasutust ei toetata.
IsBusinessProcessEnabled Sobimatu Alati vale, äriprotsesse ei toetata.
IsChildEntity Sobimatu Alati vale, kõik virtuaalsed lauad on organisatsiooni omanduses.
IsConnectionsEnabled Kehtiv
IsCustomEntity Kehtiv
On kohandatav Kehtiv
IsDocumentManagementEnabled Kehtiv
IsDocumentRecommendationsEnabled Sobimatu Alati vale, seda uut funktsiooni ei toetata.
IsDuplicateDetectionEnabled Sobimatu Alati väär, kuid duplikaadituvastuse saab teostada andmeallikas.
IsEnabledForCharts Piiratud Ainult toetatud Fetch-klauslite puhul.
IsEnabledForTrace Kehtiv
On imporditav Kehtiv
IsInteractionCentricEnabled Kehtiv
IsIntercct Kehtiv
Kas teadmiste haldamine on lubatud Sobimatu Alati vale, teadmiste halduse integratsioon ei ole toetatud.
IsMailMergeEnabled Kehtiv
On hallatud Kehtiv
On kaardistatav Kehtiv
IsOfflineInMobileClient Sobimatu Alati vale, virtuaalsed tabeliväärtused ei ole vahemällu salvestatud võrguühenduseta kasutamiseks.
Kas OneNoteIntegration Enabled Kehtiv
IsOptimisticConcurrencyEnabled Sobimatu Alati väär, samaaegsus tuleb rakendada andmeallikas.
IsPrivate Kehtiv
IsQuickCreateEnabled Kehtiv
IsReadOnlyInMobileClient Kehtiv
OnÜmbernimetatav Kehtiv
IsSLAEnabled Sobimatu Alati vale
IsStateModelAware Sobimatu
IsValidForAdvancedFind Kehtiv
IsValidForQueue Kehtiv
IsVisibleInMobile Kehtiv
IsVisibleInMobileClient Kehtiv
Võtmed Sobimatu Alternatiivsed võtmed ei ole toetatud
LoogikakoguNimi Kehtiv
Loogiline nimi Kehtiv
Palju-palju-seosed Kehtiv
Palju-ühele suhted Kehtiv Ei toetata kahe virtuaalse tabeli vahel.
MetadataId Kehtiv
MobileOfflineFiltrid Sobimatu Alati vale, offline-kasutust ei toetata.
ObjectTypeCode Kehtiv
OneManyRelationships Kehtiv
Omandiõiguse tüüp Sobimatu Alati organisatsioonile kuuluv
PrimaryIdAttribute Kehtiv
PrimaryImageAttribute Kehtiv
PrimaryNameAttribute Kehtiv
Privileegid Sobimatu
RecurrenceBaseEntityLogicalName Sobimatu
ReportViewName Sobimatu
Skeemi nimi Kehtiv
SyncToExternalSearchIndex Sobimatu

Veeru definitsiooni atribuudi käitumise muutused

Järgmine tabel selgitab, kuidas standardsete AttributeMetadata omaduste käitumine muutub, kui neid rakendada virtuaaltabelitele. Mõned omadused ei kehti virtuaaltabelite jaoks, teised aga piiratud ulatuse või väärtusega.

Metaandmete atribuut Kehtib? Märkmed
Veeru number Sobimatu
Aegunud versioon Kehtiv
Kirjeldus Kehtiv
Kuvatav nimi Kehtiv
EntityLogicalName Kehtiv
Laienduse andmed Sobimatu
On muutunud Kehtiv
PäribAlates Kehtiv
Tutvustatud versioon Kehtiv
IsAuditEnabled Sobimatu Alati vale, auditeerimist ei toetata.
IsCustomAttribute Kehtiv
On kohandatav Kehtiv
On filtreeritav Kehtiv
IsGlobalFilterEnabled Kehtiv
On loogiline Kehtiv
On hallatud Kehtiv
IsPrimaryId Kehtiv
OnPrimaryName Kehtiv
OnÜmbernimetatav Kehtiv
On otsitav Kehtiv
On turvatud Sobimatu Alati vale, välitöö turvalisust ei toetata.
IsSortableEnabled Kehtiv
IsValidForAdvancedFind Kehtiv
IsValidForCreate Kehtiv
IsValidForRead Kehtiv
IsValidForUpdate Kehtiv
LingedAttributeId Kehtiv
Loogiline nimi Kehtiv
MetadataId Kehtiv
NõutavTase Kehtiv
Skeemi nimi Kehtiv
Allika tüüp Sobimatu Alati 0, arvutatud või rollup-väärtused ei ole toetatud.

Vt ka

Virtuaalsete olemitega alustamine
Kohandatud virtuaalse tabeli andmepakkujad
Näide: üldise virtuaalse tabeli andmepakkuja lisandmoodul