Format Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
| Name | Değer | Description |
|---|---|---|
| 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 |
| 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.NativeBiçiminFormat.Nativegereksinimleri ş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.sbytebyteboolToplama 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.UserDefinedBiçiminFormat.UserDefinedgereksinimleri şunlardır:Toplama, için
MaxByteSizebir değer belirtmelidir.SqlUserDefinedTypeAttribute.IsByteOrdered öznitelik özelliğini belirtin.
falsevarsayılan değerdir.veya IBinarySerialize.Write yöntemlerindeki IBinarySerialize.Read herhangi bir alanı atlarsanız, bu alanın durumu serileştirilmez.