如何更新 startup.cs 中的服务顶部使用 ITableEntity 和 TableClient 作为 dotnet3.1 中的服务

Posted

技术标签:

【中文标题】如何更新 startup.cs 中的服务顶部使用 ITableEntity 和 TableClient 作为 dotnet3.1 中的服务【英文标题】:How do i update a service in startup.cs top use ITableEntity and TableClient as service in dotnet3.1 【发布时间】:2021-12-24 15:34:51 【问题描述】:

我正在将一个 dotnet 项目从 2.2 更新到 3.1,并且必须更换旧的

services.AddSingleton<ITableStorage>(new AzureTableStorage(Configuration.GetSection("AzureTables:StorageConnectionString").Value));

使用

using Wolnik.Azure.TableStorage.Repository;

改为使用Azure.Data.Tables,如何更改服务以使用 ITableEntity 和表客户端?我没有找到任何好的资源。

问题是我不想使用AzureTableStorage,而是使用TableClient,但是我不知道如何在startup.cs文件中实现它,AzureTableStorage的创建方式。

【问题讨论】:

不确定是否了解您的需求。您想让服务使用来自Azure.Data.TablesITableEntity 吗?然后只需将using Wolnik.Azure.TableStorage.Repository 更改为using Azure.Data.Tables。否则请多解释一下。 【参考方案1】:

TableClient 类包含一个名为 Query 的方法,它允许您从表中选择行。

该方法还采用ITableEntity 类型的泛型参数,指定模型类数据将作为返回。

TableClient 对象是用于与 Cosmos DB 表 API 通信的对象。

在应用程序的Startup.cs 文件中,编辑ConfigureServices()

 var connectionString = Configuration.GetConnectionString ("CosmosTableApi");
 services.AddSingleton<TableClient>(new TableClient(connectionString, "WeatherData"));    
 services.AddSingleton<TablesService>();

更多详情请参考Configure the Table client in Startup.cs和SO。

【讨论】:

非常感谢您的帮助! @Christine Garcia- 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢

以上是关于如何更新 startup.cs 中的服务顶部使用 ITableEntity 和 TableClient 作为 dotnet3.1 中的服务的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Startup.cs 的 InjectsAuthElements 方法中的配置中获取连接字符串

如何在 .NET 5 隔离进程中使用 Azure Functions v3 时添加以前在 Startup.cs 中的代码->配置方法

Blazor Server App MVVM-Pattern:通过 Startup.cs 中的服务类从 App-State 的子组件更改中获取父级通知

ASP .NET MVC 5 中使用的 Startup.Auth.cs 和 Startup.cs 是啥?

在 .NET 6 项目中使用 Startup.cs

在 Startup.cs 中使 ConfigureServices 方法异步