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