Asp.net core 从.net core中的现有数据库创建模型后,无法获得JSON结果
我通过以下命令从现有数据库创建模型:Asp.net core 从.net core中的现有数据库创建模型后,无法获得JSON结果,asp.net-core,.net-core,dependency-injection,entity-framework-core,asp.net-core-webapi,Asp.net Core,.net Core,Dependency Injection,Entity Framework Core,Asp.net Core Webapi,我通过以下命令从现有数据库创建模型: Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package Microsoft.EntityFrameworkCore.Design Scaffold-DbContext "Server=MYPC90;Database=NS;Trusted_Connection=True;
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Design
Scaffold-DbContext "Server=MYPC90;Database=NS;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
之后,我通过以下代码创建一个空API控制器:
namespace WebApplication1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
private readonly NSContext _context;
public UsersController(NSContext context)
{
_context = context;
}
[HttpGet]
public IEnumerable<User> GetAllUSers()
{
return _context.User.ToArray();
}
}
}
命名空间WebApplication1.控制器
{
[路由(“api/[控制器]”)]
[ApiController]
公共类UsersController:ControllerBase
{
私有只读NSContext\u上下文;
公共用户控制器(NSContext上下文)
{
_上下文=上下文;
}
[HttpGet]
公共IEnumerable GetAllUSers()
{
返回_context.User.ToArray();
}
}
}
但当我运行程序时,我收到以下错误:
我找了很多,但找不到任何解决办法。
有人能帮我吗?
非常感谢您正在通过将
NSContext
注入控制器的构造函数来使用依赖项注入。因此,您应该在Startup.cs
类的ConfigureServices
方法中将NSContext
注册到ServiceProvider
,如下所示:
services.AddDbContext<NSContext>();
services.AddDbContext();
使用此选项,在应用程序的每个请求中,NSContext
的一个实例将被实例化并存储在ServiceProvider
中