gpt4 book ai didi

.net - 使用 Azure 表存储 1.8 检查行是否存在

转载 作者:行者123 更新时间:2023-12-02 07:37:33 25 4
gpt4 key购买 nike

Azure 表存储 .NET 客户端通过 SDK 1.8 进行了彻底的重新设计。使用新的 SDK,如何检查行是否存在?

这是来自 SDK's documentation 的示例如何检索单个项目:

TableResult retrievedResult = table.Execute(retrieveOperation);

// Print the phone number of the result.
if (retrievedResult.Result != null)
Console.WriteLine(((CustomerEntity)retrievedResult.Result).PhoneNumber);
else
Console.WriteLine("The phone number could not be retrieved.");

根据示例,如果未找到行,retrievedResult.Result 应为 null。但实际上情况并非如此,因为如果没有找到行,table.Execute 会抛出异常。

旧版 SDK 也是如此:如果未找到行,则会引发异常。但有一个属性可以关闭此功能:

TableServiceContext.IgnoreResourceNotFoundException = true

但是这个选项在新的 SDK 中隐藏在哪里呢?

最佳答案

如果您使用TableEntity概念,你可以尝试下面的代码:

        CloudTable table = cloudTableClient.GetTableReference(tableName);
TableOperation retrieveOperation = TableOperation.Retrieve<YourEntity>(partitionKey, rowKey);
TableResult retrievedResult = table.Execute(retrieveOperation);
YourEntity fetchedEntity = retrievedResult.Result as YourEntity;

如果实体不存在,则 fetchedEntity 将为 null。

关于.net - 使用 Azure 表存储 1.8 检查行是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405811/

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