Format Sabit listesi

Tanım

ve SqlUserDefinedAggregateAttribute tarafından SqlUserDefinedTypeAttribute kullanıcı tanımlı bir türün (UDT) veya toplamanın serileştirme biçimini göstermek için kullanılır.

public enum class Format
public enum Format
type Format = 
Public Enum Format
Devralma
Format

Alanlar

Native 1

Bu serileştirme biçimi, SQL Server diskte UDT'nin verimli bir gösterimini depolamasını sağlayan çok basit bir algoritma kullanır. Serileştirme için Native işaretlenen türler yalnızca değer türlerine (Microsoft Visual C# içindeki yapılar ve Microsoft Visual Basic .NET'teki yapılar) üye olarak sahip olabilir. Başvuru türlerinin (Visual C# ve Visual Basic'teki sınıflar gibi), kullanıcı tanımlı veya .NET sınıf kitaplıklarında var olan (gibi String) üyeleri desteklenmez.

Unknown 0

Serileştirme biçimi bilinmiyor.

UserDefined 2

Bu serileştirme biçimi, geliştiriciye ve Read(BinaryReader) yöntemleri aracılığıyla Write(BinaryWriter) ikili biçim üzerinde tam denetim sağlar.

Örnekler

Aşağıdaki örnek, Nokta UDT'sinin özniteliğini gösterir UserDefinedType . UDT bayt sıralı, "Nokta" olarak adlandırılır, "ValidatePoint" adlı bir doğrulama yöntemine sahiptir ve yerel serileştirme biçimini kullanır.

using Microsoft.Data.SqlClient.Server;
using System.Data.SqlTypes;
using System.Text;

[Serializable]
[Microsoft.Data.SqlClient.Server.SqlUserDefinedType(Format.Native,
     IsByteOrdered = true,
     Name = "Point", ValidationMethodName = "ValidatePoint")]
public struct Point : INullable
{

Açıklamalar

Bu numaralandırma, kullanıcı tanımlı bir türün (UDT) veya toplamanın serileştirme biçimini belirtmek için ve SqlUserDefinedAggregateAttribute tarafından SqlUserDefinedTypeAttribute kullanılır. Native ve UserDefined numaralandırma üyelerinin kullanımı özel gereksinimlere sahiptir.

  • Format.Native Biçimin Format.Native gereksinimleri şunlardır:

    • StructLayoutAttribute özelliği değerine LayoutKind.Sequential sahip Value değeri, bir yapıda değil, bir sınıfta tanımlanmışsa toplamaya veya UDT'ye uygulanmalıdır. Bu, veri alanlarının fiziksel düzenini denetler ve üyeleri göründükleri sırayla sıralı olarak yerleştirilmeye zorlamak için kullanılır. SQL Server, birden çok alanı olan UDF'ler için alan sırasını belirlemek için bu özniteliği kullanır.

    • Tür en az bir üye içermelidir (seri hale getirilmiş değerler boyut olarak sıfır bayt olamaz).

    • Toplamanın tüm alanları kesilebilir olmalıdır; yani, hem yönetilen hem de yönetilmeyen bellekte ortak bir temsile sahip olmaları ve birlikte çalışma sıralayıcısı tarafından özel işleme gerektirmemeleri gerekir.

    • UDT'nin tüm alanları, seri hale getirilebilen şu türlerden birinde olmalıdır: , , , , short, ushort, , int, ulongfloatdoubleuintlong, SqlByte, SqlInt16, SqlDoubleSqlDateTimeSqlMoneySqlSingleSqlInt64SqlInt32veya kullanıcı tarafından tanımlanan ve bu türlerden birinin alanlarını içeren diğer değer türleri. sbytebytebool

    • Toplama için bir değer MaxByteSizebelirtmemelidir.

    • Toplamada [Seri Durumda Olmayan] alan olmamalıdır.

    • Alanlar açık bir düzen (ile) StructLayoutAttribute.ValueLayoutKind.Explicitolarak işaretlenmemelidir.

  • Format.UserDefined Biçimin Format.UserDefined gereksinimleri şunlardır:

Şunlara uygulanır