IBinarySerialize Interface


Provides custom implementation for user-defined type (UDT) and user-defined aggregate serialization and deserialization.

public interface class IBinarySerialize
public interface IBinarySerialize
type IBinarySerialize = interface
Public Interface IBinarySerialize


User-defined types (UDTs) and user-defined aggregates are required to define a storage format, which can be either Format.Native or Format.UserDefined.

Format.Native allows SQL Server to handle serialization and deserialization automatically, but the format has restrictions on the kind of types it can handle. Format.UserDefined allows user-defined types and aggregates to handle their own serialization. User-defined types and aggregates must be marked with Format.UserDefined in the SqlUserDefinedType or SqlUserDefinedAggregate attribute, and must implement the IBinarySerialize interface.

Note that even with custom serialization, the total size of each instance must be under the maximum allowed limit, currently 8000 bytes.



Generates a user-defined type (UDT) or user-defined aggregate from its binary form.


Converts a user-defined type (UDT) or user-defined aggregate into its binary format so that it may be persisted.

Applies to