Partager via


SqlFacetAttribute Classe

Définition

Annote le résultat retourné d'un type défini par l'utilisateur avec des informations supplémentaires qui peuvent être utilisées dans Transact-SQL.

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
Héritage
SqlFacetAttribute
Attributs

Remarques

SqlFacetAttribute ne peut être spécifié que sur des valeurs de retour non vides.

SqlFacetAttribute est utilisé uniquement pour dériver des informations sur le type de retour et n’est pas destiné à être une spécification de contrainte sur ce qui peut être stocké dans le type. Ainsi, si un champ a une SqlFacetAttribute valeur indiquant sa taille de 2 caractères, le type SQL Server de l’expression d’accès au champ est de taille 2, mais les affectations dans le champ ne sont pas limitées par cette facette.

Le tableau ci-dessous capture la matrice des valeurs valides pour les différentes propriétés pour des types de champs spécifiques. Dans ce tableau, « Y » indique que la propriété est valide et « N » indique que la propriété n’est pas valide.

Le spécifié SqlFacetAttribute doit être compatible avec le type de champ. Si la propriété n’est pas valide, l’inscription de type signale une erreur si l’utilisateur spécifie une valeur autre que celle par défaut pour la propriété. Les valeurs maximales pour Precision les propriétés et Scale sont 38. Pour la MaxSize propriété, la valeur doit être comprise entre 1 et 8 000 pour les données binaires et non Unicode, 1 à 4 000 pour les données Unicode ou -1. Toutes les autres valeurs ne sont pas valides.

Type IsFixedLength MaxSize Précision Scale 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 O
UDT incorporés N N N N Y
String Y Y N N O
Byte[] O Y N N O
Char[] O Y N N Y
DateTime N N N A1 N
Decimal N N Y Y O

(1) La spécification de l’échelle sur un type DateTime entraîne le retour de la valeur à Transact-SQL en tant que type DateTime2 avec l’échelle spécifiée.

Constructeurs

SqlFacetAttribute()

Attribut facultatif sur un type de retour défini par l'utilisateur, utilisé pour annoter le résultat retourné avec des informations supplémentaires qui peuvent être utilisées dans Transact-SQL.

Propriétés

IsFixedLength

Indique si le type de retour défini par l'utilisateur est d'une longueur fixe.

IsNullable

Indique si le type de retour défini par l'utilisateur peut être null.

MaxSize

Taille maximale, en unités logiques, du type de champ sous-jacent défini par l'utilisateur.

Precision

Précision du type de retour défini par l'utilisateur.

Scale

Échelle du type de retour défini par l'utilisateur.

S’applique à