Een item maken in Azure Cosmos DB for Table met behulp van .NET
VAN TOEPASSING OP: Tafel
Items in Azure Cosmos DB vertegenwoordigen een specifieke entiteit die is opgeslagen in een tabel. In de API voor Table bestaat een item uit een set sleutel-waardeparen die uniek zijn geïdentificeerd door de samengestelde rij- en partitiesleutels.
Een unieke id voor een item maken
De unieke id, programmatisch bekend als de **** is een afzonderlijke tekenreeks die een item in een tabel identificeert. Elk item bevat ook een partitiesleutelwaarde die wordt gebruikt om de logische partitie voor het item te bepalen. Beide sleutels zijn vereist bij het maken van een nieuw item in een tabel.
Binnen het bereik van een tabel kunnen twee items niet zowel dezelfde rijsleutel als partitiesleutel delen.
Een item maken
De TableEntity
klasse is een algemene implementatie van een woordenlijst die uniek is ontworpen om eenvoudig een nieuw item te maken op basis van een willekeurige woordenlijst van sleutel-waardeparen.
Gebruik een van de volgende strategieën om items te modelleren die u in een tabel wilt maken:
Een ingebouwde klasse gebruiken
De (string rowKey, string partitionKey)
constructor van de klasse TableEntity is een snelle manier om een item te maken met alleen de vereiste eigenschappen. Vervolgens kunt u de Add
methode gebruiken om extra sleutel-waardeparen aan het item toe te voegen.
U kunt bijvoorbeeld een nieuw exemplaar van de klasse TableEntity maken door eerst de rij - en partitiesleutels in de constructor op te geven en vervolgens nieuwe sleutel-waardeparen toe te voegen aan de woordenlijst:
// Create new item using composite key constructor
TableEntity item1 = new(
rowKey: "68719518388",
partitionKey: "gear-surf-surfboards"
);
// Add properties to item
item1.Add("Name", "Sunnox Surfboard");
item1.Add("Quantity", 8);
item1.Add("Sale", true);
// Add new item to server-side table
await tableClient.AddEntityAsync<TableEntity>(item1);
De (IDictionary<string, object>)
constructor van de klasse TableEntity converteert een bestaande woordenlijst naar een item dat klaar is om aan een tabel te worden toegevoegd.
U kunt bijvoorbeeld een woordenlijst doorgeven aan een nieuw exemplaar van de klasse TableEntity :
// Create dictionary
Dictionary<string, object> properties = new()
{
{ "RowKey", "68719518388" },
{ "PartitionKey", "gear-surf-surfboards" },
{ "Name", "Sunnox Surfboard" },
{ "Quantity", 8 },
{ "Sale", true }
};
// Create new item using dictionary constructor
TableEntity item2 = new(
values: properties
);
// Add new item to server-side table
await tableClient.AddEntityAsync<TableEntity>(item2);
De TableClient.AddEntityAsync<>
methode neemt een parameter van het type TableEntity in beslag en maakt vervolgens een item aan de serverzijde in de tabel.
Interface implementeren
Notitie
In de voorbeelden in deze sectie wordt ervan uitgegaan dat u al een C#-type hebt gedefinieerd om uw gegevens met de naam Product weer te geven:
// C# record type for items in the table
public record Product : ITableEntity
{
public string RowKey { get; set; } = default!;
public string PartitionKey { get; set; } = default!;
public string Name { get; init; } = default!;
public int Quantity { get; init; }
public bool Sale { get; init; }
public ETag ETag { get; set; } = default!;
public DateTimeOffset? Timestamp { get; set; } = default!;
}
De TableClient.AddEntityAsync<>
methode neemt een parameter op van elk type dat de ITableEntity
interface implementeert. De interface bevat al de vereiste RowKey
en PartitionKey
eigenschappen.
U kunt bijvoorbeeld een nieuw object maken waarmee ten minste alle vereiste eigenschappen in de ITableEntity-interface worden geïmplementeerd:
// Create new item
Product item = new()
{
RowKey = "68719518388",
PartitionKey = "gear-surf-surfboards",
Name = "Sunnox Surfboard",
Quantity = 8,
Sale = true
};
U kunt dit object vervolgens doorgeven aan de methode AddEntityAsync<>
waarmee een item aan de serverzijde wordt gemaakt:
// Add new item to server-side table
await tableClient.AddEntityAsync<Product>(item);
Volgende stappen
Nu u verschillende items hebt gemaakt, gebruikt u de volgende handleiding om een item te lezen.