Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een F#-typeprovider is een onderdeel dat typen, eigenschappen en methoden biedt voor gebruik in uw programma. Typeproviders genereren wat opgegeven typen worden genoemd, die worden gegenereerd door de F#-compiler en zijn gebaseerd op een externe gegevensbron.
Een F#-typeprovider voor SQL kan bijvoorbeeld typen genereren die tabellen en kolommen in een relationele database vertegenwoordigen. In feite is dit wat de SQLProvider Type Provider doet.
Opgegeven typen zijn afhankelijk van invoerparameters voor een typeprovider. Dergelijke invoer kan een voorbeeldgegevensbron zijn (zoals een JSON-schemabestand), een URL die rechtstreeks naar een externe service verwijst of een verbindingsreeks naar een gegevensbron. Een Type Provider kan er ook voor zorgen dat groepen typen alleen op aanvraag worden uitgebreid; dat wil zeggen, ze worden uitgebreid als er daadwerkelijk naar de typen wordt verwezen door uw programma. Hierdoor kan de directe en on-demand integratie van grootschalige informatieruimten, zoals online gegevensmarkten, op een sterk getypte manier plaatsvinden.
Generatieve en gewiste typeproviders
Type Providers zijn in twee vormen beschikbaar: Generatieve en Verwijderde.
Generatieve typeproviders produceren typen die als .NET-typen kunnen worden geschreven in de assembly waarin ze worden geproduceerd. Hierdoor kunnen ze worden gebruikt in code van andere assemblies. Dit betekent dat de getypte weergave van de gegevensbron in het algemeen een weergave moet zijn die haalbaar is voor .NET-typen.
Typeproviders wissen produceren typen die alleen gebruikt kunnen worden binnen de assembly of het project waarin ze worden gegenereerd. De typen zijn kortstondig; dat wil zeggen, ze worden niet in een assembly geschreven en zijn niet bruikbaar voor code in andere assembly's. Ze kunnen vertraagde leden bevatten, zodat u opgegeven typen kunt gebruiken uit een mogelijk oneindige informatieruimte. Ze zijn handig voor het gebruik van een kleine subset van een grote en onderling verbonden gegevensbron.
Veelgebruikte typeproviders
De volgende veelgebruikte bibliotheken bevatten typeproviders voor verschillende toepassingen:
- FSharp.Data bevat typeproviders voor JSON-, XML-, CSV- en HTML-documentindelingen en -resources.
- SQLProvider biedt sterk getypte toegang tot relationele databases via objecttoewijzing en F#LINQ-query's voor deze gegevensbronnen.
- FSharp.Data.SqlClient heeft een set typeproviders voor het op compile-tijd gecontroleerd insluiten van T-SQL in F#.
- Azure Storage-typeprovider biedt typen voor Azure Blobs, Tabellen en Wachtrijen, zodat u toegang hebt tot deze resources zonder dat u resourcenamen hoeft op te geven als tekenreeksen in uw programma.
- FSharp.Data.GraphQL bevat de GraphQLProvider, die typen biedt op basis van een GraphQL-server die is opgegeven door de URL.
Indien nodig kunt u uw eigen aangepaste typeproviders of referentietypeproviders maken die door anderen zijn gemaakt. Stel dat uw organisatie een gegevensservice heeft die een groot en groeiend aantal benoemde gegevenssets biedt, elk met een eigen stabiel gegevensschema. U kunt ervoor kiezen om een typeprovider te maken die de schema's leest en de meest recente beschikbare gegevenssets op een sterk getypte manier aan de programmeur presenteert.