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 で表現されます。 |
このセクションの内容
SQL Server データ型のマッピング (ADO.NET)
推論されたデータ型マッピングおよび System.Data.SqlClient のデータ アクセサー メソッドを一覧で示します。OLE DB データ型のマッピング (ADO.NET)
推論されたデータ型マッピングおよび System.Data.OleDb のデータ アクセサー メソッドを一覧で示します。ODBC データ型のマッピング (ADO.NET)
推論されたデータ型マッピングおよび System.Data.Odbc のデータ アクセサー メソッドを一覧で示します。Oracle データ型のマップ
推論されたデータ型マッピングおよび System.Data.OracleClient のデータ アクセサー メソッドを一覧で示します。浮動小数点数 (ADO.NET)
開発者が浮動小数点数を扱う際の発生頻度の高い問題について説明します。
参照
概念
パラメーターおよびパラメーターのデータ型の構成 (ADO.NET)