gpt4 book ai didi

azure-table-storage - 插入或合并实体与插入或替换实体之间的区别

转载 作者:行者123 更新时间:2023-12-03 08:49:41 24 4
gpt4 key购买 nike

我正在使用Azure表存储来存储数据。我对何时使用插入或替换和插入或合并感到困惑。我正在使用Azure SDK 1.7。

我对插入或替换的理解是,如果该实体存在,则用新实体替换先前实体的整个属性。如果新实体未定义属性或属性值为null,则该属性将在更新时删除。

而在插入或合并中,即使新实体未在新实体中定义新属性,旧属性也将保留。我的理解正确吗?

马亨德

最佳答案

是!您的理解是正确的。

您可以通过使用正确的connectionStringtableName运行以下C#代码来对其进行测试:

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

您应该最终在表中使用具有以下属性的单个实体:

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

关于azure-table-storage - 插入或合并实体与插入或替换实体之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com