Meer informatie over puntbewerkingen

Voltooid

De Microsoft.Azure.Cosmos-bibliotheek bevat eersteklas ondersteuning voor generics in de C#-taal, waardoor het essentieel is voor u, als ontwikkelaar, om na te denken over hoe u wilt vertegenwoordigen met wat u wilt gebruiken in uw container.

Op het meest fundamentele niveau kunt u een C#-klasse maken die een item in uw container vertegenwoordigt dat minimaal twee leden bevat:

  • een tekenreekseigenschap met de naam id met een openbare getter en setter
  • een tekenreekseigenschap met dezelfde naam als uw partitiesleutelpad met een openbare getter en setter
public class item
{
    public string id { get; set; }

    public string partitionKey { get; set; }
}

U kunt een uitgebreide verzameling andere leden van andere typen opnemen. U kunt zelfs andere leden van verschillende complexe typen hebben, zoals andere klassen.

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

Laten we een fictief scenario instellen voor de rest van deze module. We hebben een productklasse met vijf leden voor de unieke id, de naam van het product, de unieke categorie-id, de prijs en een verzameling tags. De categorie-id is het partitiesleutelpad voor de container.

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

Deze implementatie is een ongelooflijk veelzijdige C#-klasse die elke ontwikkelaar direct kan kiezen en gebruiken. Stel dat u om welke reden dan ook de naam van eigenschappen moet wijzigen zodat deze aan uw bedrijfsbehoeften voldoet. In dat geval kunt u eigenschapskenmerken gebruiken om de naam van de eigenschap die u in de C#-code gebruikt, los te koppelen van de naam van de eigenschap die wordt gebruikt in JSON en, in feite, in Azure Cosmos DB for NoSQL. In dit voorbeeld kunt u de naam InternalId in C#-code gebruiken en nog steeds de id-id in JSON en Azure Cosmos DB for NoSQL gebruiken.

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

Tip

Als u een bestaande toepassing hebt met C#-lidnamen die u niet kunt wijzigen, is eigenschapskenmerken een manier om typen opnieuw te gebruiken zonder dat u het risico loopt om uw bestaande code op aanzienlijke manieren te wijzigen of technische schulden te maken.