SqlFacetAttribute 类

定义

使用可用在 Transact-SQL 中的其他信息对用户定义类型 (UDT) 的返回结果进行批注。

public ref class SqlFacetAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=false, Inherited=false)]
public class SqlFacetAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=false, Inherited=false)>]
type SqlFacetAttribute = class
    inherit Attribute
Public Class SqlFacetAttribute
Inherits Attribute
继承
SqlFacetAttribute
属性

注解

SqlFacetAttribute 只能对非 void 返回值指定。

SqlFacetAttribute 仅用于派生有关返回类型的信息,不应作为可存储在该类型中的内容的约束规范。 因此,如果字段具有 SqlFacetAttribute 指示其大小为 2 个字符的 ,则字段访问表达式SQL Server类型的大小为 2,但字段中的赋值不受此方面的限制。

下表捕获特定字段类型的各种属性的有效值的矩阵。 在此表中,“Y”表示属性有效,“N”表示属性无效。

指定的 SqlFacetAttribute 必须与字段类型兼容。 如果属性无效,如果用户为属性指定非默认值,则类型注册将报告错误。 和 Scale 属性的Precision最大值为 38。 MaxSize对于 属性,对于二进制和非 Unicode 数据,该值应为 1-8000;对于 Unicode 数据,该值应为 1-4000;对于 Unicode 数据,该值应为 -1。 所有其他值都无效。

类型 IsFixedLength MaxSize 精度 缩放 IsNullable
SqlBoolean N N N N Y
SqlByte N N N N Y
SqlInt16 N N N N Y
SqlInt32 N N N N Y
SqlInt64 N N N N Y
SqlSingle N N N N Y
SqlDouble N N N N Y
SqlDateTime N N N N Y
SqlMoney N N N N Y
SqlGuid N N N N Y
SqlDecimal N N Y Y Y
SqlString Y Y N N Y
SqlBinary Y Y N N Y
SqlXml N N N N Y
SqlBytes Y Y N N Y
SqlChars Y Y N N Y
嵌入式 UDT N N N N Y
String Y Y N N Y
Byte[] Y Y N N Y
Char[] Y Y N N Y
DateTime N N N 1 N
Decimal N N Y Y Y

(1) 指定 DateTime 类型上的刻度将导致值作为具有指定刻度的 DateTime2 类型返回到 Transact-SQL。

构造函数

SqlFacetAttribute()

用户定义类型 (UDT) 返回类型的可选特性,该特性的用途是借助可以在 Transact-SQL 中使用的其他信息对返回的结果进行批注。

属性

IsFixedLength

指示用户定义类型的返回类型是否具有固定长度。

IsNullable

指示用户定义类型的返回类型是否可以为 null

MaxSize

用户定义类型的基础字段类型的最大大小(用逻辑单元表示)。

Precision

用户定义类型的返回类型的精度。

Scale

用户定义类型的返回类型的小数位数。

适用于