Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um provedor de tipo F# é um componente que fornece tipos, propriedades e métodos para uso em seu programa. Os Provedores de Tipos geram o que são conhecidos como Tipos Fornecidos, que são gerados pelo compilador F# e são baseados em uma fonte de dados externa.
Por exemplo, um Provedor de Tipos F# para SQL pode gerar tipos que representam tabelas e colunas em um banco de dados relacional. Na verdade, é isso que o Provedor de Tipos SQLProvider faz.
Os tipos fornecidos dependem de parâmetros de entrada para um provedor de tipo. Essa entrada pode ser uma fonte de dados de exemplo (como um arquivo de esquema JSON), uma URL apontando diretamente para um serviço externo ou uma cadeia de conexão para uma fonte de dados. Um Provedor de Tipos também pode garantir que os grupos de tipos sejam expandidos apenas sob demanda; ou seja, eles serão expandidos se os tipos forem realmente referenciados pelo seu programa. Isso permite a integração direta e sob demanda de espaços de informações em grande escala como mercados de dados online de uma forma fortemente tipada.
Provedores de tipos generativos e apagados
Os provedores de tipos são fornecidos em duas formas: generativos e apagados.
Os provedores de tipos generativos produzem tipos que podem ser gravados como tipos .NET no assembly no qual são produzidos. Isso permite que eles sejam consumidos do código em outros assemblies. Isso significa que a representação tipada da fonte de dados geralmente deve ser uma que seja viável representar com tipos .NET.
Os provedores de tipos apagados produzem tipos que só podem ser consumidos no assembly ou no projeto do qual são gerados. Os tipos são efêmeros; ou seja, eles não são gravados em uma assemblagem e não podem ser usados em código de outras assemblagens. Eles podem conter membros atrasados, permitindo que você use tipos fornecidos de um espaço de informações potencialmente infinito. Eles são úteis para usar um pequeno subconjunto de uma fonte de dados grande e interconectada.
Provedores de tipo comumente usados
As seguintes bibliotecas amplamente usadas contêm Provedores de Tipos para diferentes usos:
- O FSharp.Data inclui provedores de tipos para formatos e recursos de documentos JSON, XML, CSV e HTML.
- O SQLProvider fornece acesso fortemente tipado a bancos de dados de relações por meio de mapeamento de objetos e consultas LINQ F# nessas fontes de dados.
- FSharp.Data.SqlClient possui um conjunto de provedores de tipo para incorporação verificada em tempo de compilação do T-SQL em F#.
- O provedor de Tipo de Armazenamento do Azure fornece tipos para Blobs, Tabelas e Filas do Azure, permitindo que você acesse esses recursos sem precisar especificar nomes de recursos como cadeias de caracteres em todo o programa.
- FSharp.Data.GraphQL contém o GraphQLProvider, que fornece tipos baseados em um servidor GraphQL especificado pela URL.
Quando necessário, você pode criar seus próprios provedores de tipo personalizado ou provedores de tipo de referência que foram criados por outras pessoas. Por exemplo, suponha que sua organização tenha um serviço de dados fornecendo um grande e crescente número de conjuntos de dados nomeados, cada um com seu próprio esquema de dados estável. Você pode optar por criar um provedor de tipos que leia os esquemas e apresente os conjuntos de dados mais recentes disponíveis para o programador de uma forma fortemente tipada.