Freigeben über


SqlUserDefinedAggregateAttribute Klasse

Definition

Gibt an, dass der Typ als benutzerdefiniertes Aggregat registriert werden soll. Die Eigenschaften des Attributs stellen nur die physikalischen Attribute dar, die beim Registrieren des Typs in SQL Server verwendet werden. Diese Klasse kann nicht vererbt werden.

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
Vererbung
SqlUserDefinedAggregateAttribute
Attribute

Beispiele

Das folgende Beispiel zeigt das SqlUserDefinedAggregateAttribute Attribut für ein benutzerdefiniertes Aggregat. Das Aggregat verwendet benutzerdefinierte Serialisierung, hat eine maximale Größe von 8.000 Bytes, wenn es serialisiert wird, und ist invariant auf NULL-Werte, Duplikate und Reihenfolge.

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)
    {

    }
}

Hinweise

SQL Server erstellt ein benutzerdefiniertes Aggregat, das an die Klassendefinition gebunden ist, die über das SqlUserDefinedAggregateAttribute benutzerdefinierte Attribut verfügt. Jedem benutzerdefinierten Aggregat muss dieses Attribut angefügt werden.

Weitere Informationen zu benutzerdefinierten Aggregaten und Beispielen finden Sie unter "CLR User-Defined Aggregate" in SQL Server 2005-Onlinedokumentation.

Konstruktoren

SqlUserDefinedAggregateAttribute(Format)

Ein erforderliches Attribut eines benutzerdefinierten Aggregats, das angibt, dass der angegebene Typ ein benutzerdefiniertes Aggregat ist sowie das Speicherformat des benutzerdefinierten Aggregats.

Felder

MaxByteSizeValue

Die maximale Größe in Bytes, die erforderlich ist, um während der Berechnung den Zustand dieser Aggregatinstanz zu speichern.

Eigenschaften

Format

Das Serialisierungsformat als Format.

IsInvariantToDuplicates

Gibt an, ob das Aggregat bei Duplikaten unveränderlich ist.

IsInvariantToNulls

Gibt an, ob das Aggregat bei NULL-Werten unveränderlich ist.

IsInvariantToOrder

Gibt an, ob die Reihenfolge für das Aggregat unveränderlich ist.

IsNullIfEmpty

Gibt an, ob das Aggregat null zurückgibt, wenn keine Werte gesammelt wurden.

MaxByteSize

Die maximale Größe der Aggregatinstanz in Bytes.

Name

Der Name des Aggregats.

Gilt für: