Megosztás a következőn keresztül:


Típusszolgáltatók

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.

Lásd még