ADO.NET のデータ型のマッピング
適用対象: .NET Framework
.NET
.NET Standard
ADO.NET は、ランタイムでの型の宣言、使用、および管理の方法を定義する、共通型システムに基づいています。 値型と参照型の両方から構成されており、これらはすべて Object 基本型から派生します。 データ ソースを操作するときは、データ型が明示的に指定されていない場合はデータ プロバイダーから推論されます。 たとえば、DataSet オブジェクトは、特定のデータ ソースには依存しません。 DataSet
内のデータはデータ ソースから取得され、変更は DataAdapter
によってデータ ソースに反映されます。 DataAdapter
によってデータ ソースの値を使用して DataSet
の DataTable が入力されると、生成される DataTable
の列のデータ型は、データ ソースへの接続に使用される Microsoft SqlClient Data Provider for SQL Server に固有の型ではなく、.NET Framework 型になることをこのプログラム フローは意味します。
同様に、DataReader
によってデータ ソースから値が返されるとき、結果の値は .NET Framework 型のローカル変数に格納されます。 DataAdapter
の Fill
操作と DataReader
の Get
メソッドのどちらの場合も、.NET Framework 型は Microsoft SqlClient Data Provider for SQL Server から返された値から推論されます。
返される値の型がわかっている場合は、推論されるデータ型を使用するのではなく、DataReader
の型指定されたアクセサー メソッドを使用できます。 型指定されたアクセサー メソッドを使用して .NET Framework の特定の型として値を返すと、追加の型変換が不要になるため、パフォーマンスが向上します。
Note
Microsoft SqlClient Data Provider for SQL Server データ型の null 値は DBNull.Value
によって表されます。
このセクションの内容
SQL Server のデータ型のマッピング 推論されるデータ型のマッピングと Microsoft.Data.SqlClient のデータ アクセサー メソッドの一覧を示します。
浮動小数点数 開発者が浮動小数点数を操作するときに頻繁に発生する問題について説明します。