Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Поставщик типов F# — это компонент, предоставляющий типы, свойства и методы для использования в программе. Поставщики типов создают то, что называется предоставленными типами, которые создаются компилятором F# и основаны на внешнем источнике данных.
Например, поставщик типов F# для SQL может создавать типы, представляющие таблицы и столбцы в реляционной базе данных. На самом деле это то, что делает поставщик типов SQLProvider .
Предоставленные типы зависят от входных параметров поставщика типов. Такие входные данные могут быть примером источника данных (например, JSON-файла схемы), URL-адресом, указывающим непосредственно на внешнюю службу, или строкой подключения к источнику данных. Поставщик типов также может гарантировать, что группы типов развернуты только по требованию: они расширяются, если программы действительно ссылаются на эти типы. Это обеспечивает прямую интеграцию крупномасштабных информационных пространств по запросу, таких как онлайн-рынки данных в строго типизированном виде.
Поставщики генеративных и удаленных типов
Поставщики типов доступны в двух формах: создание и удаление.
Поставщики генерированных типов создают типы, которые можно записать как типы .NET в сборку, в которой они создаются. Это позволяет использовать их из кода в других сборках. Это означает, что представление источника данных в типизированной форме обычно должно быть одним из типов .NET, которые можно реализовать.
Поставщики стирающих типов создают типы, которые можно использовать только в той сборке или проекте, где они были сгенерированы. Типы являются эфемерными; т. е. они не записываются в сборку и не могут использоваться кодом в других сборках. Они могут содержать отложенные элементы, позволяя использовать предоставленные типы из потенциально бесконечного информационного пространства. Они полезны для использования небольшого подмножества большого и связанного источника данных.
Часто используемые поставщики типов
Следующие широко используемые библиотеки содержат поставщиков типов для различных видов использования:
- FSharp.Data включает поставщиков типов для документных форматов и ресурсов JSON, XML, CSV и HTML.
- SQLProvider предоставляет строго типизированный доступ к реляционным базам данных через сопоставление объектов и запросы F# LINQ к этим источникам данных.
- FSharp.Data.SqlClient предоставляет набор поставщиков типов для проверки T-SQL на этапе компиляции в F#.
- Поставщик типов хранилища Azure предоставляет типы для больших двоичных объектов Azure, таблиц и очередей, что позволяет получить доступ к этим ресурсам без необходимости указывать имена ресурсов в виде строк в рамках программы.
- FSharp.Data.GraphQL содержит GraphQLProvider, который предоставляет типы на основе сервера GraphQL, указанного на основе URL-адреса.
При необходимости можно создавать собственные поставщики пользовательских типов или ссылаться на поставщиков типов, созданных другими. Например, предположим, что у вашей организации есть служба данных, предоставляющая большое и растущее число именованных наборов данных, каждая из которых имеет собственную стабильную схему данных. Вы можете создать поставщик типов, который считывает схемы и представляет последние доступные наборы данных программисту строго типизированным образом.