فهم عمليات النقطة

مكتمل

تتضمن مكتبة Microsoft.Azure.Cosmos دعم من الفئة الأولى للغة #C، مما يجعل من الضروري بالنسبة لك، كمطور، التفكير في كيفية تمثيل ما تتفاعل معه داخل الحاوية الخاصة بك.

على المستوى التأسيسي، يمكنك إنشاء فئة C# التي تمثل عنصر في الحاوية الخاصة بك يحتوي على عضوين كحد أدنى:

  • خاصية سلسلة اسمها معرفبها محصل ومعين عام
  • خاصية سلسلة بنفس اسم مسار مفتاح القسم الخاص بك مع محصل ومعين عام
public class item
{
    public string id { get; set; }

    public string partitionKey { get; set; }
}

يمكنك تضمين مجموعة كبيرة من الأعضاء الآخرين من أنواع أخرى. بإمكانك أيضا الحصول على أعضاء آخرين من أنواع معقدة مختلفة، مثل الفئات الأخرى.

public decimal money { get; set;}

public bool boolean { get; set; }

public string[] set { get; set; }

public double numbers { get; set; }

public int morenumbers { get; set; }

public ComplexClass sophisticated { get; set;}

public List<ComplexType> onetomany { get; set; }

دعونا نقوم بإنشاء سيناريو خيالي لما تبقي من هذه الوحدة. لدينا فئة منتج تضم خمسة أعضاء للهويةالفريدة واسمالمنتج ومعرف الفئة الفريد والسعرومجموعة من العلامات. معرف الفئة هو مسار مفتاح القسم بالنسبة للحاوية.

public class Product
{
    public string id { get; set; }
    
    public string name { get; set; }

    public string categoryId { get; set; }

    public double price { get; set; }

    public string[] tags { get; set; }
}

هذا التنفيذ هو فئة #C متعددة الاستخدام بشكل لا يصدق يمكن لأي مطور اختيارها واستخدامها على الفور. لنفترض، لأي سبب من الأسباب، أنك تحتاج إلى تغيير اسم الخصائص لتلائم احتياجات عملك. في هذه الحالة، يمكنك استخدام سمات الخاصية لفصل اسم الخاصية التي تستخدمها في التعليمة البرمجية C# عن اسم الخاصية المستخدمة في JSON، وفي الواقع، في Azure Cosmos DB ل NoSQL. في هذا المثال، يمكنك استخدام الاسم InternalId في التعليمات البرمجية C# مع الاستمرار في استخدام معرف المعرف في JSON وAzure Cosmos DB ل NoSQL.

[JsonProperty(PropertyName = "id")]
public string InternalId { get; set; }

تلميح

إذا كان لديك تطبيق موجود بأسماء أعضاء C# ولا يمكنك تغييرها، سمات الخاصية هي طريقة لإعادة استخدام الأنواع دون تكبد مخاطر تغيير التعليمات البرمجية الموجودة بطرق هامة أو تكبد ديون فنية.