Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az F#-típusszolgáltató olyan összetevő, amely típusokat, tulajdonságokat és metódusokat biztosít a programban való használatra. A típusszolgáltatók az F#-fordító által létrehozott, külső adatforráson alapuló , megadott típusokat hoznak létre.
Az SQL-hez készült F#-típusszolgáltató például táblákat és oszlopokat képviselő típusokat hozhat létre egy relációs adatbázisban. Valójában ez az SQLProvider típusszolgáltató feladata.
A megadott típusok a típusszolgáltató bemeneti paramétereitől függnek. Ilyen bemenet lehet egy minta adatforrás (például egy JSON-sémafájl), egy közvetlenül egy külső szolgáltatásra mutató URL-cím vagy egy adatforráshoz kapcsolódó kapcsolati sztring. A típusszolgáltató azt is biztosíthatja, hogy a típuscsoportok csak igény szerint legyenek kibontva; vagyis ki lesznek bontva, ha a program ténylegesen hivatkozik rájuk. Ez lehetővé teszi a nagy méretű információs terek, például az online adatpiacok közvetlen, igény szerinti integrációját erősen gépelt módon.
Generatív és törölt típusszolgáltatók
A típusszolgáltatók két formában jönnek létre: Generative és Erased.
A generatív típusszolgáltatók olyan típusokat hoznak létre, amelyek .NET-típusokként írhatók abba a szerelvénybe, amelyben azokat előállították. Ez lehetővé teszi, hogy más szerelvények kódjából legyenek felhasználva. Ez azt jelenti, hogy az adatforrás típusos ábrázolásának általában olyannak kell lennie, amely a .NET-típusok esetében megvalósítható.
A típusszolgáltatók törlése olyan típusokat hoz létre, amelyek csak abban a szerelvényben vagy projektben használhatók fel, amelyekből létrehozták őket. A típusok rövid élettartamúak; azaz nem szerelvénybe vannak írva, és más szerelvényekben nem használhatók fel kóddal. Késleltetett tagokat tartalmazhatnak, így a megadott típusokat egy potenciálisan végtelen információs területről használhatja. Hasznosak nagy és összekapcsolt adatforrások kis részhalmazának használatához.
Gyakran használt típusszolgáltatók
A következő széles körben használt kódtárak típusszolgáltatókat tartalmaznak különböző célokra:
- Az FSharp.Data JSON-, XML-, CSV- és HTML-dokumentumformátumokhoz és -erőforrásokhoz tartalmaz típusszolgáltatókat.
- Az SQLProvider objektumleképezéssel és F# LINQ-lekérdezésekkel erősen beírt hozzáférést biztosít a relációs adatbázisokhoz ezeken az adatforrásokon.
- Az FSharp.Data.SqlClient típusszolgáltatók készletével rendelkezik a T-SQL lefordítási idő ellenőrzött beágyazásához az F#-ban.
- Az Azure Storage-típusszolgáltató típusokat biztosít az Azure-blobokhoz, táblákhoz és üzenetsorokhoz, így anélkül érheti el ezeket az erőforrásokat, hogy sztringként kellene megadnia az erőforrásneveket a programban.
- Az FSharp.Data.GraphQL tartalmazza a GraphQLProvidert, amely az URL-cím által megadott GraphQL-kiszolgálón alapuló típusokat biztosít.
Szükség esetén létrehozhat saját egyéni típusszolgáltatókat, vagy referenciatípus-szolgáltatókat, amelyeket mások hoztak létre. Tegyük fel például, hogy a szervezet rendelkezik egy olyan adatszolgáltatással, amely nagy és növekvő számú elnevezett adatkészletet biztosít, amelyek mindegyike saját stabil adatsémával rendelkezik. Létrehozhat egy típusszolgáltatót, amely beolvassa a sémákat, és a legújabb elérhető adatkészleteket bemutatja a programozónak erősen beírt módon.