Сопоставления типов данных в ADO.NET

Применимо: платформа .NET Framework .NET Standard

Скачать ADO.NET

ADO.NET основывается на системе общих типов, которая определяет правила объявления, использования типов в среде выполнения и управления ими. Система типов состоит из типов-значений и типов-ссылок, производных от базового типа Object. При работе с источником данных не указанный явным образом тип данных выводится из поставщика данных. Например, объект DataSet не зависит ни от одного конкретного источника данных. Получение данных в DataSet осуществляется из источника данных, а изменения передаются для сохранения в источнике данных с использованием DataAdapter. Такой поток программы означает, что когда DataAdapter заполняет DataTable в DataSet значениями из источника данных, результирующие типы данных столбцов в DataTable будут типами .NET Framework, а не поставщика данных Microsoft SqlClient для SQL Server, который используется для подключения к источнику данных.

Аналогично, когда DataReader возвращает значение из источника данных, результирующее значение сохраняется в локальной переменной с типом .NET Framework. Для Fill операций методов DataAdapter и Get в DataReader тип .NET Framework выводится из значения, возвращенного поставщиком данных Microsoft SqlClient для SQL Server.

Если известен тип возвращаемого значения, то вместо выводимого типа данных можно воспользоваться типизированными методами доступа объекта DataReader. Типизированные методы доступа обеспечивают оптимальную производительность, возвращая значение с конкретным типом .NET Framework, что устраняет необходимость в дополнительном преобразовании типов.

Примечание.

Значения NULL в типах данных поставщика данных Microsoft SqlClient для SQL Server представляются как DBNull.Value.

В этом разделе

Сопоставления типов данных SQL Server — список выводимых сопоставлений для типов данных и методов доступа к данным для Microsoft.Data.SqlClient.

Числа с плавающей запятой — описание проблем, с которыми часто сталкиваются разработчики при работе с числами с плавающей запятой.

См. также