porta microsoft management azure-table-storage

azure table storage - microsoft - Diferencia entre Insertar o fusionar entidad y Insertar o reemplazar entidad



porta azure (1)

¡Sí! Su comprensión es correcta.

Puede probarlo ejecutando el siguiente código C # con una correcta connectionString y tableName :

class MyEntity : TableEntity { public string MyString { get; set; } } class MySecondEntity : TableEntity { public string MySecondString { get; set; } } public void MergeTest() { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString); CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); CloudTable table = tableClient.GetTableReference(tableName); table.CreateIfNotExists(); // Insert an entity table.Execute(TableOperation.Insert(new MyEntity() { PartitionKey = "partition", RowKey = "row", MyString = "randomString" })); // Merge with a different class table.Execute(TableOperation.InsertOrMerge(new MySecondEntity() { PartitionKey = "partition", RowKey = "row", MySecondString = "randomSecondString" })); }

Debería terminar con una sola entidad en su tabla con las siguientes propiedades:

{ PartitionKey = "partition", RowKey = "row", MyString = "randomString", MySecondString = "randomSecondString" }

Estoy usando el almacenamiento de tablas de Azure para almacenar los datos. Me estoy confundiendo sobre cuándo usar insertar-o-reemplazar y insertar-o-fusionar. Estoy usando el SDK de Azure 1.7.

Mi entendimiento sobre insertar o reemplazar es reemplazar la propiedad completa de la entidad anterior con una nueva entidad si la entidad existe. Si la nueva entidad no define la propiedad o el valor de la propiedad es nulo, dicha propiedad se eliminará al actualizar.

Mientras que en la inserción o fusión, las propiedades antiguas se mantendrán incluso si la nueva entidad no define nuevas propiedades en la nueva entidad. ¿Mi entendimiento es correcto?

Mahender