Memahami operasi titik

Selesai

Pustaka Microsoft.Azure.Cosmos menyertakan dukungan kelas satu untuk hal umum dalam bahasa C#, sehingga penting bagi Anda, sebagai pengembang, untuk memikirkan bagaimana Anda ingin mewakili hal yang berinteraksi dengan Anda dalam kontainer.

Pada tingkat paling dasar, Anda dapat membuat kelas C# yang mewakili item dalam kontainer Anda yang, minimal, berisi dua anggota:

  • properti string bernama id dengan getter dan setter publik
  • properti string dengan nama yang sama dengan jalur kunci partisi Anda dengan getter dan setter publik
public class item
{
    public string id { get; set; }

    public string partitionKey { get; set; }
}

Anda dapat menyertakan banyak koleksi anggota lain dari jenis lain. Anda bahkan dapat memiliki anggota lain dari jenis kompleks yang berbeda, seperti kelas lain.

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

Mari kita buat skenario fiksi untuk sisa modul ini. Kami memiliki kelas Produk dengan lima anggota untuk id unik, nama produk, pengidentifikasi kategori unik, harga, dan kumpulan tag. Pengidentifikasi kategori adalah jalur kunci partisi untuk kontainer.

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

Penerapan ini adalah kelas C# yang sangat serbaguna yang dapat segera dipilih dan digunakan oleh pengembang mana pun. Misalkan, untuk alasan apa pun, Anda perlu mengubah nama properti agar sesuai dengan kebutuhan bisnis Anda. Dalam hal ini, Anda dapat menggunakan atribut properti untuk memisahkan nama properti yang Anda gunakan dalam kode C# dari nama properti yang digunakan di JSON dan, berlaku, di Azure Cosmos DB untuk NoSQL. Dalam contoh ini, Anda dapat menggunakan nama InternalId dalam kode C# dan masih menggunakan id pengidentifikasi di JSON dan Azure Cosmos DB untuk NoSQL.

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

Tip

Jika Anda memiliki aplikasi yang sudah ada dengan nama anggota C# yang tidak dapat Anda ubah, atribut properti adalah cara untuk menggunakan kembali jenis tanpa menimbulkan risiko mengubah kode yang ada secara signifikan atau menimbulkan utang teknis.