型プロバイダー

F# 型プロバイダーは、プログラムで使用する型、プロパティ、およびメソッドを指定するコンポーネントです。型プロバイダーは、インフォメーションリッチ プログラミングに対する F# 3.0 のサポートにおいて重要な部分です。インフォメーションリッチ プログラミングで重要になるのは、インターネットおよび最新エンタープライズ環境にある各種の情報ソースの利用に対する障壁を取り除くことです。情報ソースをプログラムに含めることに対する 1 つの大きな障壁は、プログラミング言語環境で使用できるように情報を型、プロパティ、およびメソッドとして表す必要があることです。これらの型を手動で記述するにはかなりの時間がかかり、保守も困難です。一般的な代替策は、プロジェクトにファイルを追加するコード ジェネレーターを使用することです。ただし、コード生成の従来の型は、F# でサポートされているプログラミングの探索モードに統合されません。生成されたコードは、サービス参照が調整されるたびに置き換える必要があるためです。

F# 型プロバイダーによって指定される型は、通常、外部情報ソースに基づいています。たとえば、SQL 用の F# 型プロバイダーは、アクセス権を持つ SQL データベースのテーブルを直接処理するために必要な型、プロパティ、およびメソッドを指定します。同様に、WSDL Web サービス用の型プロバイダーは、WSDL Web サービスを直接処理するために必要な型、プロパティ、およびメソッドを指定します。

F# 型プロバイダーによって指定される型、プロパティ、およびメソッドのセットは、プログラム コードで指定されるパラメーターに依存します。たとえば、型プロバイダーは、接続文字列またはサービスの URL に応じてさまざまな型を指定できます。このように、接続文字列または URL として使用できる情報空間は、プログラムに直接統合されます。また、型プロバイダーは、必要なときにのみ型のグループを展開することができます。つまり、実際にプログラムが型を参照したときに型が展開されます。これにより、オンライン データ マーケットのような大規模な情報空間の直接的な、必要に応じた統合を厳密に型指定された方法で実現できます。

F# には、インターネットやエンタープライズ データ サービスで一般に使用される型プロバイダーがいくつか組み込まれています。これらの型プロバイダーは、SQL リレーショナル データベースとネットワーク ベースの OData および WSDL サービスへの単純で安定したアクセスを提供し、これらのデータ ソースに対する F# LINQ クエリの使用をサポートします。

必要に応じて、独自のカスタム型プロバイダーを作成することも、他のユーザーが作成した型プロバイダーを参照することもできます。たとえば、組織に 1 つのデータ サービスを用意し、そのデータ サービスにより、増加し続ける名前付きデータセット群と各データセットの安定したデータ スキーマを提供するとします。スキーマを読み取り、利用可能な最新のデータセットを厳密に型指定してプログラマに提示する型プロバイダーを作成することもできます。

関連トピック

タイトル

説明

チュートリアル : 型プロバイダーを使用した SQL データベースへのアクセス (F#)

データベースに直接接続するための接続文字列に基づいて、SqlDataConnection 型プロバイダーを使用して SQL データベースのテーブルとストアド プロシージャにアクセスする方法について説明します。アクセスには LINQ to SQL のマッピングを使用します。

チュートリアル : 型プロバイダーおよびエンティティを使用した SQL データベースへのアクセス (F#)

データベースに直接接続するための接続文字列に基づいて、SqlEntityConnection 型プロバイダーを使用して SQL データベースのテーブルとストアド プロシージャにアクセスする方法について説明します。アクセスには LINQ to Entities マッピングを使用します。このメソッドはどのデータベースでも使用できますが、ここに示す例では SQL Server を使用します。

チュートリアル : 型プロバイダーを使用した OData サービスへのアクセス (F#)

サービス URL に基づいて厳密に型指定された方法で ODataService 型プロバイダーを使用して OData サービスにアクセスする方法について説明します。

チュートリアル : 型プロバイダーを使用した Web サービスへのアクセス (F#)

サービス URL に基づいて厳密に型指定された方法で WsdlService 型プロバイダーを使用して WSDL Web サービスにアクセスする方法について説明します。

チュートリアル : DBML ファイルからの F# 型の生成 (F#)

Linq to SQL データベース スキーマ仕様を提供する DBML ファイルに基づいて、DbmlFile 型プロバイダーを使用して SQL データベースのテーブルとストアド プロシージャにアクセスする方法について説明します。

チュートリアル : EDMX スキーマ ファイルからの F# 型の生成 (F#)

Entity Framework スキーマ仕様を提供する EDMX ファイルに基づいて、EdmxFile 型プロバイダーを使用して SQL データベースのテーブルとストアド プロシージャにアクセスする方法について説明します。

チュートリアル : 型プロバイダーの作成 (F#)

独自のカスタム型プロバイダーを記述する方法について説明します。

型プロバイダーのセキュリティ

型プロバイダーを開発する際のセキュリティ上の考慮事項について説明します。

型プロバイダーのトラブルシューティング

型プロバイダーを使用する場合に生じる可能性のある一般的な問題について説明し、ソリューションを提案します。

参照

概念

Visual Studio 2012 の Visual F# の新機能

その他の技術情報

F# 言語リファレンス

Visual F#