C# Blazor创建服务,从SQL Server存储过程中提取数据
说到Blazor,我是个笨蛋,就这点而言,我是个傻瓜 我正在尝试创建一个简单的服务。简单的过程,包括运行存储过程,并在表中显示其结果。我从简单开始,只是确保流程运行 我的服务是这样的:C# Blazor创建服务,从SQL Server存储过程中提取数据,c#,blazor,C#,Blazor,说到Blazor,我是个笨蛋,就这点而言,我是个傻瓜 我正在尝试创建一个简单的服务。简单的过程,包括运行存储过程,并在表中显示其结果。我从简单开始,只是确保流程运行 我的服务是这样的: public class ACheckerService : IACheckerService { // Database connection private readonly SqlConnectionConfig _config; public ACheckerService(Sq
public class ACheckerService : IACheckerService
{
// Database connection
private readonly SqlConnectionConfig _config;
public ACheckerService(SqlConnectionConfig config)
{
_config = config;
}
public async Task<IEnumerable<AChecker>> GetAllExceptions()
{
IEnumerable<AChecker> exceptions;
using (var conn = new SqlConnection(_config.Value))
{
exceptions = await conn.QueryAsync<AChecker>("Auto.GetAll", commandType: System.Data.CommandType.StoredProcedure);
}
return exceptions.ToList(); ;
}
}
@page "/Data/Auto"
@using AChecker.Data
@inject IACheckerService CheckerService
<h3>Auto</h3>
<p>This component demonstrates Auto Exceptions</p>
@if (aChecker is null)
{
<p><em>Loading....</em></p>
}
else
{
<p><em>Data....</em></p>
}
@code {
private IEnumerable<AChecker> aChecker;
protected override async Task OnInitializedAsync()
{
aChecker = await CheckerService.GetAllAutoExceptions();
}
}
我在Startup.Cs中添加了此服务,如:
services.AddSingleton<ACheckerService>();
services.AddSingleton();
上面的代码有什么问题吗?或者为什么它不起作用
我在我的应用程序中添加了这项服务,基本上,当我单击菜单时,我希望看到加载或数据(理想情况下,我希望创建一个表并从其中的存储过程填充字段,共有4个字段),但是我遇到了一系列错误:
InvalidOperationException:无法为AChecker.Pages.MyPages.Auto类型的属性CheckerService提供值。没有AChecker.Data.IACheckerService类型的注册服务
尝试使用此重载注册服务,该重载指定接口及其具体实现:
services.AddSingleton<IACheckerService, ACheckerService>();
services.AddSingleton();
尝试使用此重载注册服务,该重载指定接口及其具体实现:
services.AddSingleton<IACheckerService, ACheckerService>();
services.AddSingleton();