Partager via


SqlUserDefinedAggregateAttribute Classe

Définition

Indique que le type doit être enregistré comme un agrégat défini par l'utilisateur. Les propriétés de l'attribut reflètent les attributs physiques utilisés lorsque le type est enregistré avec SQL Server. Cette classe ne peut pas être héritée.

public ref class SqlUserDefinedAggregateAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)]
public sealed class SqlUserDefinedAggregateAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false)>]
type SqlUserDefinedAggregateAttribute = class
    inherit Attribute
Public NotInheritable Class SqlUserDefinedAggregateAttribute
Inherits Attribute
Héritage
SqlUserDefinedAggregateAttribute
Attributs

Exemples

L’exemple suivant montre l’attribut SqlUserDefinedAggregateAttribute d’un agrégat défini par l’utilisateur. L’agrégat utilise la sérialisation personnalisée, a une taille maximale de 8 000 octets en cas de sérialisation, et est invariant par les valeurs null, les doublons et l’ordre.

using Microsoft.SqlServer.Server;
using System.IO;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Text;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(
   Microsoft.SqlServer.Server.Format.UserDefined,
   IsInvariantToNulls = true,
   IsInvariantToDuplicates = false,
   IsInvariantToOrder = false,
   MaxByteSize = 8000)
        ]
public class Concatenate : Microsoft.SqlServer.Server.IBinarySerialize
{

    public void Read(BinaryReader r)
    {

    }

    public void Write(BinaryWriter w)
    {

    }
}

Remarques

SQL Server crée un agrégat défini par l’utilisateur lié à la définition de classe qui a l’attribut SqlUserDefinedAggregateAttribute personnalisé. Chaque agrégat défini par l'utilisateur doit être annoté avec cet attribut.

Pour plus d’informations sur les agrégats définis par l’utilisateur, consultez « CLR User-Defined agrégats » dans la documentation en ligne de SQL Server 2005.

Constructeurs

SqlUserDefinedAggregateAttribute(Format)

Attribut requis sur un agrégat défini par l'utilisateur, utilisé pour indiquer que le type donné est un agrégat défini par l'utilisateur et le format de stockage de l'agrégat défini par l'utilisateur.

Champs

MaxByteSizeValue

Taille maximale, en octets, requise pour stocker l'état de cette instance d'agrégat pendant le calcul.

Propriétés

Format

Format de sérialisation en tant que Format.

IsInvariantToDuplicates

Indique si l'agrégat est indifférent aux doublons.

IsInvariantToNulls

Indique si l'agrégat est indifférent aux valeurs null.

IsInvariantToOrder

Indique si l'agrégat est indifférent à l'ordre.

IsNullIfEmpty

Indique si l'agrégat retourne null si aucune valeur n'a été accumulée.

MaxByteSize

Taille maximale, en octets, de l'instance d'agrégat.

Name

Nom de l'agrégat.

S’applique à