Udostępnij za pośrednictwem


SqlUserDefinedAggregateAttribute Klasa

Definicja

Wskazuje, że typ powinien być zarejestrowany jako agregacja zdefiniowana przez użytkownika. Właściwości atrybutu odzwierciedlają atrybuty fizyczne używane podczas rejestrowania typu za pomocą SQL Server. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
SqlUserDefinedAggregateAttribute
Atrybuty

Przykłady

W poniższym przykładzie przedstawiono SqlUserDefinedAggregateAttribute atrybut agregacji zdefiniowanej przez użytkownika. Agregacja używa serializacji niestandardowej, ma maksymalny rozmiar 8000 bajtów podczas serializacji i jest niezmienny dla wartości null, duplikatów i kolejności.

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

    }
}

Uwagi

SQL Server tworzy agregację zdefiniowaną przez użytkownika, która jest powiązana z definicją SqlUserDefinedAggregateAttribute klasy, która ma atrybut niestandardowy. Każda agregacja zdefiniowana przez użytkownika musi być oznaczona adnotacją za pomocą tego atrybutu.

Aby uzyskać więcej informacji na temat agregacji zdefiniowanych przez użytkownika, zobacz artykuł "CLR User-Defined Agregacje" w witrynie SQL Server 2005 Books Online.

Konstruktory

SqlUserDefinedAggregateAttribute(Format)

Wymagany atrybut w agregacji zdefiniowanej przez użytkownika, używany do wskazania, że dany typ jest agregowaniem zdefiniowanym przez użytkownika i formatem przechowywania agregacji zdefiniowanej przez użytkownika.

Pola

MaxByteSizeValue

Maksymalny rozmiar w bajtach wymagany do przechowywania stanu tego wystąpienia zagregowanego podczas obliczeń.

Właściwości

Format

Format serializacji jako Format.

IsInvariantToDuplicates

Wskazuje, czy agregacja jest niezmienna w przypadku duplikatów.

IsInvariantToNulls

Wskazuje, czy agregacja jest niezmienna do wartości null.

IsInvariantToOrder

Wskazuje, czy agregacja jest niezmienna do kolejności.

IsNullIfEmpty

Wskazuje, czy agregacja zwraca wartość null , jeśli żadne wartości nie zostały skumulowane.

MaxByteSize

Maksymalny rozmiar w bajtach wystąpienia agregowanego.

Name

Nazwa agregacji.

Dotyczy