ADO.NET でのデータ型のマッピング

.NET Framework は共通型システムを基にしています。このシステムは実行時の型の宣言、使用、および管理方法を定義するものです。 値型と参照型の両方から構成されており、これらはすべて Object 基本型から派生します。 データ ソースを操作するときは、データ型が明示的に指定されていない場合はデータ プロバイダーから推論されます。 たとえば、DataSet オブジェクトは、特定のデータ ソースには依存しません。 DataSet 内のデータはデータ ソースから取得され、変更は DataAdapter によってデータ ソースに反映されます。 つまり、DataAdapter が DataSet 内の DataTable に、データ ソースからの値を格納すると、DataTable 内の列で結果として設定されるデータ型は、データ ソースへの接続を行う目的で使用した .NET Framework データ プロバイダー固有の型ではなく、.NET Framework のデータ型になります。

同様に、DataReader がデータ ソースから値を返すと、結果の値が .NET Framework 型のローカル変数に格納されます。DataAdapter の Fill 操作の場合も、DataReader の Get メソッドの場合も、.NET Framework の型は .NET Framework データ プロバイダーから返された値から推論されます。

返される値の型がわかっている場合は、推論されるデータ型を使用するのではなく、DataReader の型指定されたアクセサー メソッドを使用できます。 型指定されたアクセサー メソッドを使用して .NET Framework の特定の型として値を返すと、追加の型変換が不要になるため、パフォーマンスが向上します。

メモメモ

.NET Framework データ プロバイダーのデータ型の null 値は、DBNull.Value で表現されます。

このセクションの内容

参照

概念

パラメーターおよびパラメーターのデータ型の構成 (ADO.NET)

その他の技術情報

SQL Server データ型と ADO.NET

データベース スキーマ情報の取得 (ADO.NET)

共通型システム

Converting Types