Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Data SDK:n Microsoft Dataverse avulla .NET kehittäjät voivat luoda mukautettuja virtuaalisten taulukkotietojen tarjoajia. Niiden avulla voidaan integroida ulkoisia tietolähdetyyppejä, joita olemassa oleva tietopalvelu ei tue. Jokainen tietopalvelu koostuu uudelleenkäytettävissä olevista Dataverse-laajennuksista, jotka toteuttavat tuetut CRUD-toiminnot. Kehittäjät voivat luoda jokaiselle virtuaalitaulukolle, jota kutsutaan myös virtuaaliseksi entiteetiksi, laajennuksia ja rekisteröidä ne edustamaan kutakin Luo-, Päivitä-, Nouda-, RetrieveMultiple- ja Delete-toimintoa . Tässä osiossa on perustietoja tietopalveluntarjoajista ja tavoista kehittää mukautettuja palveluntarjoajia, mukaan lukien esimerkkikoodi.
Note
Mukautetun tietolähdepalvelun luomisen sijaan sinun kannattaa harkita tietolähteen mukauttamista aiemmin luotuun tietopalveluun. Jos esimerkiksi luot OData v4 -liittymän ulkoiseen tietolähteeseen, voit käyttää sitä suoraan käyttämällä annettua OData v4 -vakio-tietopalvelu, joka tukee CRUD-toimintoja. Tämän REST-liittymän lisäämisen mekanismi vaihtelee pohjana olevan tietopalvelutekniikan kanssa. Katso esimerkiksi WCF-tietopalvelut 4.5. ODatalla on laaja toimialatuki, joka sisältää laajan valikoiman erillisiä työkaluja ja yhteensopivia tekniikoita.
Edellytykset
Mukautetut tietopalvelut tarvitsevat huomattavia kehitysresursseja luomiseen ja ylläpitoon. Sinulla on oltava perustiedot seuraavista aiheista:
- Ulkoisen tietolähteen rakenne ja siihen liittyvät tietojen käyttötekniikat. Tämä toimialueen tieto liittyy ulkoisen tietolähteen tyyppiin.
- Dataverse-määritysrakenne: Lisätietoja: Käytä taulukon ja sarakkeen määritelmiä koodin avulla.
- Dataverse-tapahtumakehys: Lisätietoja: Event Framework.
- Dataverse-laajennuksen arkkitehtuuri ja kehitys: Lisätietoja: Laajennusten käyttäminen liiketoimintaprosessien laajentamiseen.
Kokoonpano Microsoft.Xrm.Sdk.Data.dll on saatavilla NuGet-pakettina: Microsoft.CrmSdk.Data
Palveluntarjoajien luokat
Voit luoda kaksi yleistä tietopalvelujen luokkaa käyttämällä SDK-virtuaalisten taulukkotietojen kokoonpanoja: yleisiä tai kohdistettuja. Seuraavassa taulukossa kuvataan nämä menetelmät ja vastaavat niitä parhaiten kuhunkin lähestymistapaan sopivaan tietopalvelun kehitysmalliin.
| Luokka | Kehitysmalli | Kuvaus |
|---|---|---|
| Yleinen | "Tärkeiden tietojen" tarjoaja | Nämä palveluntarjoajat kääntävät FetchXML-kyselylausekkeet joustavasti siihen liittyvään pyyntöön ulkoiselle tietolähteelle ja palauttavat sitten tulokseksi saadut tietueet. Voit käyttää tällaista palvelua uudelleen kaikissa tämän tietolähdetyypin esiintymissä. Tämä lähestymistapa on yleisin, mutta sen kehittäminen on monimutkaisempaa. Jos tietolähteen rakenne muuttuu, sinun tarvitsee vain määrittää uudelleen näennäistaulukot, joita asia koskee. |
| Kohdistettu | LINQ-palvelu tunnetulle rakenteelle | Tällainen palvelu kääntää kyselyt täpärästi liittyvään LINQ-kutsuun tunnetuksi, olemassa olevaksi tietolähdeesiintymäksi. Tietolähteen on oltava LINQ-palvelu. Ohjeet ovat artikkelissa Tietolähteen käyttöönotto LINQ-kyselyissä. Tämä lähestymistapa rajoittuu tiettyyn tietolähteen esiintymään, mutta se edellyttää paljon vähemmän koodausta. Jos tietolähteen rakenne muuttuu, tietopalvelu on päivitettävä ja uudelleenrakennettava. |
OData v4 -vakiotietopalvelu ja Azure Cosmos DB -tietopalvelu ovat esimerkkejä yleisistä palveluntarjoajista.
Mukautetun tietopalvelun käyttövaiheet
Jos haluat luoda virtuaalisen taulukkotietopalvelun ratkaisun, jonka voit tuoda Dataverse-sovelluksiisi, suorita seuraavat vaiheet:
- Kehitä mukautetun tietojen tarjoajan laajennuksen DLL-tiedosto tai DLL-tiedostojen joukko.
- Rekisteröi mukautettu tietopalvelu Dataverse-palvelussasi laajennuksen rekisteröintityökalun (PRT) avulla.
- Luo tietopalveluratkaisu.
- Mukauta tietolähdetaulukko vastaamaan tietotyyppiäsi tai tiettyä esiintymää.
- Vie mukautettu tietopalveluratkaisu.
Lisätietoja on kohdassa Malli: Mukautettu näennäistaulukkopalvelu CRUD-toiminnoilla.
Laajennuksen kehitys
Koska virtuaalitaulukot tukevat CRUD-toimintoja, kirjoita tietopalvelu laajennukseksi, jonka rekisteröit Luo-, Päivitä-, Nouda-, Retrieve-, RetrieveMultiple- ja Delete-tapahtumiin . Jokainen tapahtuma sisältää suorituskontekstissa tietoja, jotka kuvaavat palautettavien tietojen tyyppiä.
| Tapahtuma | Suorituskonteksti |
|---|---|
| Noutaa | Kuvailee, mikä taulukko noudettava sekä sarakkeet ja mahdolliset liittyvät taulukot sisällytetään. |
| RetrieveMultiple | Sisältää objektin, joka QueryExpression määrittää kyselyn. Kehys sisältää QueryExpressionVisitor-luokan, joka on suunniteltu tarkastelemaan kyselylausekepuun eri osia. |
Kummankin tapahtuman osalta sinun on tehtävä seuraavat:
- Muunna suorituskontekstin vastaavat tiedot kyselyksi, joka toimii ulkoisen tietolähteesi kanssa.
- Hae tiedot ulkoisesta järjestelmästä.
- Muunna Nouda-parametria varten tiedot Entitymuotoon . Muussa tapauksessa muunna RetrieveMultiple-parametrin arvoksi EntityCollection. Dataverse palauttaa tämän tuloksen kyselyn suorittavalle käyttäjälle.
Nimitilan luokat Microsoft.Xrm.Sdk.Data tarjoavat kehyksen, joka auttaa yhdistämään Dataverse-kyselyn tiedot suorituskontekstista ulkoiselle tietolähteelle sopivassa muodossa olevaksi kyselyksi. Tämän kehyksen avulla voit muuntaa Dataverse-ympäristön palauttamat tiedot vastaamaan tai EntityEntityCollection vastaamaan oletettuihin tyyppeihin.
Tietopalvelun poikkeukset
Jos koodisi ei saavuta odotettua tulosta, anna asianmukainen virhe. Nimitila Microsoft.Xrm.Sdk.Data.Exceptions sisältää seuraavat poikkeusluokat, jotka on johdettu SdkExceptionBasekohteesta , jota voit käyttää tähän tarkoitukseen:
| Poikkeusluokka | Kuvaus |
|---|---|
| AuthenticationException | Suojauksen todennuksen aikana tapahtui virhe ulkoisessa tietolähdepalvelussa. Esimerkiksi HTTP-tila 401 vastaanotettiin ulkoisesta tietopalvelusta. Tämä johtuu yleensä siitä, että nykyisellä käyttäjällä ei ole asianmukaisia oikeuksia tai koska liittyvän EntityDataSource-tietolähteen yhteystiedot ovat virheelliset. |
| EndpointException | Päätepisteen määritys tietolähdetaulukossa on virheellinen tai päätepistettä ei ole olemassa. |
| GenericDataAccessException | Yleinen tietojen käyttövirhe, jota käytetään, kun virhe ei yhdistä erityisempään poikkeukseen. |
| InvalidMetadataException | |
| InvalidQueryException | Määritetty kysely on virheellinen. Se sisältää esimerkiksi virheellisen lauseyhdistelmän tai vertailuoperaattorin, jota ei tueta. |
| ObjectNotFoundException | Määritettyä ulkoisen tietolähteen tietuetta ei ole. |
| TimeoutException | Ulkoinen toiminto ei suoritettu loppuun sallitun ajan kuluessa. Esimerkiksi ulkoisen tietopalvelun HTTP-tila on 408. |
Laajennuksen rekisteröinti
Toisin kuin tavallisen laajennuksen tapauksessa, rekisteröi kokoonpano ja kunkin tapahtuman laajennukset käyttämällä laajennusten rekisteröintityökalua (PRT). Älä rekisteröi tiettyjä vaiheita. Laajennus suoritetaan vaiheessa 30, joka on toiminnon tärkein tapahtumavaihe, joka ei ole käytettävissä tavallisissa laajennusvaiheissa. Vaiheiden rekisteröimisen sijaan voit määrittää tietopalvelun käyttämällä seuraavaa taulukkoa.
| Taulukko | Kuvaus |
|---|---|
| EntityDataProvider | Määrittää jokaiselle tapahtumalle käytettävät laajennukset sekä tietolähteen loogisen nimen. |
Kun määrität virtuaalitaulukon määritykset, rekisteröi laajennukset PRT:n avulla ja määritä oikeat määritystiedot EntityDataProvider-taulukossa . Virtuaalitaulukkosi alkaa vastata pyyntöihin.
Lisätietoja on artikkelissa Tietopalvelun luominen ja laajennusten lisääminen palveluun.
Virheenkorjauksen laajennukset
Mukautettu näennäistaulukkopalvelu on eräänlainen laajennus. Näiden artikkelien tietojen avulla voit korjata mukautettujen näennäistaulukkopalvelujen laajennusten viankorjauksen: Virheenkorjauslaajennukset ja Opetusohjelma: Laajennuksen virheenkorjaus.
Katso myös
Näennäistaulukoiden käytön aloittaminen
Virtuaalisten taulukoiden ohjelmointirajapinnan huomioon otettavia seikkoja
Malli: Geneerinen virtuaalitaulukon tietopalvelun laajennus