gpt4 book ai didi

c# - 如何使用数据库优先方法读取 asp.net core 中的表

转载 作者:行者123 更新时间:2023-12-02 16:19:44 26 4
gpt4 key购买 nike

因此,我在 SQLEXPRESS 中创建了一个新数据库和一个表,我还用随机信息填充了表,并且我在 Nuget 控制台 -> Scaffold-DbContext "Server=.\SQLExpress;Database=testdb;Trusted_Connection=真的;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型。该程序成功创建了模型,所以我只想输出信息,所以我创建了一个新的 apicontroller,使用 [HttpGet],并注入(inject)了创建的 testdbcontext,它是为获取数据库表的信息而创建的,所以总之我创建了以下方法。

 [HttpGet("All")]

public IActionResult GetAll()
{
var obj = _db.Mobiletables.ToList();

return Ok(obj);
}

但是,当我转到 localhost/home/all 时,出现以下错误 enter image description here我做错了什么,我只想使用 DB First Approach 方法从数据库读取信息到 api。

最佳答案

您的 Controller 代码看起来是正确的,但是根据您对“我没有在启动服务中添加任何内容”的评论,您在 Startup.cs 中缺少类似这样的内容(特别是 AddDbContext 行):

    public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<SchoolContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddControllersWithViews();
}

https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro?view=aspnetcore-5.0

您仍然需要设置上下文,以便在注入(inject)时可以使用它。

关于c# - 如何使用数据库优先方法读取 asp.net core 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65779956/

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