Nokta işlemlerini anlama

Tamamlandı

Microsoft.Azure.Cosmos kitaplığı C# dilindeki genel öğeler için birinci sınıf destek içerir. Bu, kapsayıcınızda etkileşimde bulunduğunuzu nasıl temsil etmek istediğinizi düşünmenizi geliştirici olarak sizin için çok önemlidir.

En temel düzeyde, kapsayıcınızda en az iki üye içeren bir öğeyi temsil eden bir C# sınıfı oluşturabilirsiniz:

  • ortak alıcı ve ayarlayıcı ile id adlı bir dize özelliği
  • genel alıcı ve ayarlayıcı ile bölüm anahtarı yolunuzla aynı ada sahip bir dize özelliği
public class item
{
    public string id { get; set; }

    public string partitionKey { get; set; }
}

Diğer türlerin diğer üyelerinden oluşan zengin bir koleksiyon ekleyebilirsiniz. Hatta diğer sınıflar gibi farklı karmaşık türlerin diğer üyelerine de sahip olabilirsiniz.

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; }

Şimdi bu modülün geri kalanı için kurgusal bir senaryo oluşturalım. Benzersiz kimlik, ürün adı, benzersiz kategori tanımlayıcısı, fiyat ve etiket koleksiyonu için beş üyeye sahip bir Product sınıfımız var. Kategori tanımlayıcısı, kapsayıcının bölüm anahtarı yoludur.

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; }
}

Bu uygulama, herhangi bir geliştiricinin hemen seçebileceği ve kullanabileceği inanılmaz derecede çok yönlü bir C# sınıfıdır. Herhangi bir nedenle, özelliklerin adını iş gereksinimlerinize uyacak şekilde değiştirmeniz gerektiğini varsayalım. Bu durumda, C# kodunda kullandığınız özelliğin adını JSON'da kullanılan özelliğin adından ve aslında NoSQL için Azure Cosmos DB'de ilişkilendirmek için özellik özniteliklerini kullanabilirsiniz. Bu örnekte C# kodunda InternalId adını kullanabilir ve yine de JSON ve NoSQL için Azure Cosmos DB'de tanımlayıcı kimliğini kullanabilirsiniz.

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

Bahşiş

Değiştiremeyeceğiniz C# üye adlarına sahip mevcut bir uygulamanız varsa, özellik öznitelikleri, mevcut kodunuzu önemli şekillerde değiştirme veya teknik borçlanma riski olmadan türleri yeniden kullanmanın bir yoludur.