语言

SqlMetaData 类

定义

指定对象使用的 SqlDataRecord 列的元数据信息。 此类不能被继承。

public ref class SqlMetaData sealed
public sealed class SqlMetaData
type SqlMetaData = class
Public NotInheritable Class SqlMetaData
继承
SqlMetaData

示例

以下示例演示如何创建多个 SqlMetaData 对象,这些对象描述记录的列元数据以及记录流的 SqlDataRecord 生成。 通过将方法Value的返回值分配给属性,可以将这些SqlDataRecord记录流式传输到SQL Server作为表值参数。

using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.Data.SqlClient.Server;

public static IEnumerable<SqlDataRecord> ReturnNewRecords()
{
    // Variables.
    SqlMetaData column1Info;
    SqlMetaData column2Info;
    SqlMetaData column3Info;
    SqlDataRecord record;

    // Create the column metadata.
    column1Info = new SqlMetaData("Column1", SqlDbType.NVarChar, 12);
    column2Info = new SqlMetaData("Column2", SqlDbType.Int);
    column3Info = new SqlMetaData("Column3", SqlDbType.DateTime);

    // Create a new record with the column metadata.      
    record = new SqlDataRecord(new SqlMetaData[] { 
      column1Info,
      column2Info,
      column3Info });

    // Set the fields of the first record and stream it to SQL Server.
    record.SetString(0, "Hello World!");
    record.SetInt32(1, 42);
    record.SetDateTime(2, DateTime.Now);
    yield return record;

    // Set the fields of the second record and stream it to SQL Server.
    record.SetInt32(1, 0);
    yield return record;
}

注解

SqlMetaData实例通常生成一次,并重复使用以构造流式传输到SQL Server作为表值参数的许多SqlDataRecord对象。 有关详细信息,请参阅 Table-Valued 参数。

构造函数

名称 说明
SqlMetaData(String, SqlDbType, Boolean, Boolean, SortOrder, Int32)

使用指定的列名和默认服务器初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Byte, Byte, Boolean, Boolean, SortOrder, Int32)

使用指定的列名、类型、精度、小数位数和服务器默认值初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Byte, Byte)

使用指定的列名、类型、精度和小数位数初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType, Int64, Boolean, Boolean, SortOrder, Int32)

使用指定的列名称、类型、最大长度和服务器默认值初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Int64, Byte, Byte, Int64, SqlCompareOptions, Type, Boolean, Boolean, SortOrder, Int32)

使用指定的列名、类型、最大长度、精度、刻度、区域设置 ID、比较选项和用户定义的类型(UDT)初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Int64, Byte, Byte, Int64, SqlCompareOptions, Type)

使用指定的列名、类型、最大长度、精度、刻度、区域设置 ID、比较选项和用户定义的类型(UDT)初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType, Int64, Int64, SqlCompareOptions, Boolean, Boolean, SortOrder, Int32)

使用指定的列名称、类型、最大长度、区域设置、比较选项和服务器默认值初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Int64, Int64, SqlCompareOptions)

使用指定的列名称、类型、最大长度、区域设置和比较选项初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType, Int64)

使用指定的列名、类型和最大长度初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType, String, String, String, Boolean, Boolean, SortOrder, Int32)

使用指定的列名、数据库名称、拥有架构、对象名称和默认服务器初始化类的新实例 SqlMetaData 。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, String, String, String)

使用指定的列名称、类型、数据库名称、拥有架构和对象名称初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType, Type, String, Boolean, Boolean, SortOrder, Int32)

使用指定的列名、类型、用户定义类型、SQL Server类型和服务器默认值初始化类的新实例SqlMetaData。 这种形式的构造函数支持表值参数,即允许指定列在表值参数中是否唯一、该列的排序顺序以及排序列的序号。

SqlMetaData(String, SqlDbType, Type, String)

使用指定的列名、用户定义的类型(UDT)和SQL Server类型初始化类的新实例SqlMetaData。

SqlMetaData(String, SqlDbType, Type)

使用指定的列名、类型和用户定义的类型(UDT)初始化类的新实例 SqlMetaData 。

SqlMetaData(String, SqlDbType)

使用指定的列名称和类型初始化类的新实例 SqlMetaData 。

属性

名称 说明
CompareOptions

获取用于列或参数的比较规则。

DbType

获取列或参数的数据类型。

IsUniqueKey

指示表值参数中的列是否是唯一的。

LocaleId

获取列或参数的区域设置 ID。

Max

获取 TEXT、NTEXT 和 IMAGE 数据类型的长度。

MaxLength

获取列或参数的最大长度。

Name

获取列或参数的名称。

Precision

获取列或参数的精度。

Scale

获取列或参数的刻度。

SortOrder

返回列的排序顺序。

SortOrdinal

返回排序列的序号。

SqlDbType

获取列或参数的数据类型。

Type

获取用户定义的类型的公共语言运行时 (CLR) 类型(UDT)。

TypeName

获取用户定义的类型(UDT)或实例所表示的SQL Server类型的三部分名称。

UseServerDefault

报告此列是否应使用默认服务器值。

XmlSchemaCollectionDatabase

获取此 XML 实例的架构集合所在的数据库的名称。

XmlSchemaCollectionName

获取此 XML 实例的架构集合的名称。

XmlSchemaCollectionOwningSchema

获取此 XML 实例的架构集合所在的拥有关系架构。

方法

名称 说明
Adjust(Boolean)

根据元数据验证指定的 Boolean 值,并在必要时调整值。

Adjust(Byte)

根据元数据验证指定的 Byte 值,并在必要时调整值。

Adjust(Byte[])

根据元数据验证指定的值数组 Byte ,并在必要时调整值。

Adjust(Char)

根据元数据验证指定的 Char 值,并在必要时调整值。

Adjust(Char[])

根据元数据验证指定的值数组 Char ,并在必要时调整值。

Adjust(DateTime)

根据元数据验证指定的 DateTime 值,并在必要时调整值。

Adjust(DateTimeOffset)

根据元数据验证指定的 DateTimeOffset 值,并在必要时调整值。

Adjust(Decimal)

根据元数据验证指定的 Decimal 值,并在必要时调整值。

Adjust(Double)

根据元数据验证指定的 Double 值,并在必要时调整值。

Adjust(Guid)

根据元数据验证指定的 Guid 值,并在必要时调整值。

Adjust(Int16)

根据元数据验证指定的 Int16 值,并在必要时调整值。

Adjust(Int32)

根据元数据验证指定的 Int32 值,并在必要时调整值。

Adjust(Int64)

根据元数据验证指定的 Int64 值,并在必要时调整值。

Adjust(Object)

根据元数据验证指定的 Object 值,并在必要时调整值。

Adjust(Single)

根据元数据验证指定的 Single 值,并在必要时调整值。

Adjust(SqlBinary)

根据元数据验证指定的 SqlBinary 值,并在必要时调整值。

Adjust(SqlBoolean)

根据元数据验证指定的 SqlBoolean 值,并在必要时调整值。

Adjust(SqlByte)

根据元数据验证指定的 SqlByte 值,并在必要时调整值。

Adjust(SqlBytes)

根据元数据验证指定的 SqlBytes 值,并在必要时调整值。

Adjust(SqlChars)

根据元数据验证指定的 SqlChars 值,并在必要时调整值。

Adjust(SqlDateTime)

根据元数据验证指定的 SqlDateTime 值,并在必要时调整值。

Adjust(SqlDecimal)

根据元数据验证指定的 SqlDecimal 值,并在必要时调整值。

Adjust(SqlDouble)

根据元数据验证指定的 SqlDouble 值,并在必要时调整值。

Adjust(SqlGuid)

根据元数据验证指定的 SqlGuid 值,并在必要时调整值。

Adjust(SqlInt16)

根据元数据验证指定的 SqlInt16 值,并在必要时调整值。

Adjust(SqlInt32)

根据元数据验证指定的 SqlInt32 值,并在必要时调整值。

Adjust(SqlInt64)

根据元数据验证指定的 SqlInt64 值,并在必要时调整值。

Adjust(SqlMoney)

根据元数据验证指定的 SqlMoney 值,并在必要时调整值。

Adjust(SqlSingle)

根据元数据验证指定的 SqlSingle 值,并在必要时调整值。

Adjust(SqlString)

根据元数据验证指定的 SqlString 值,并在必要时调整值。

Adjust(SqlXml)

根据元数据验证指定的 SqlXml 值,并在必要时调整值。

Adjust(String)

根据元数据验证指定的 String 值,并在必要时调整值。

Adjust(TimeSpan)

根据元数据验证指定的 TimeSpan 值,并在必要时调整值。

InferFromValue(Object, String)

从指定对象推断元数据,并将其作为 SqlMetaData 实例返回。

适用于