首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >详细解读.NET Core中注册数据库上下文

详细解读.NET Core中注册数据库上下文

原创
作者头像
软件架构师Michael
发布2025-08-21 15:21:51
发布2025-08-21 15:21:51
1120
举报

.NET Core中注册数据库上下文代码如下:

代码语言:csharp
复制
using Microsoft.EntityFrameworkCore;
using TodoApi.Models;

//创建 WebApplicationBuilder 对象,用于配置服务(依赖注入)和中间件管道。
args 接收命令行参数
var builder = WebApplication.CreateBuilder(args);//​初始化 Web 应用构建器
//注册 MVC 控制器,支持 API 请求路由到对应的 Controller 方法。
builder.Services.AddControllers();

//添加 OpenAPI(Swagger)支持,自动生成 API 文档。需安装 Swashbuckle.AspNetCore 包。
builder.Services.AddOpenApi();

//注册 TodoContext 到依赖注入容器。
​//**UseInMemoryDatabase("TodoList")**​:使用内存数据库(非持久化),数据库名称为 "TodoList"。重启应用时数据丢失,适用于测试环境。
builder.Services.AddDbContext<TodoContext>(opt =>
    opt.UseInMemoryDatabase("TodoList"));
// 通过 builder.Build() 创建 WebApplication 实例,进入中间件配置阶段。
var app = builder.Build();

//​开发环境下启用 OpenAPI​:
//MapOpenApi():映射 Swagger JSON 文档端点(通常为 /openapi.json)。
//需配合 Swagger UI 中间件(此处未显式添加)才能访问 Web 界面。
if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();
  • Microsoft.EntityFrameworkCore:提供 Entity Framework Core 功能(用于数据库操作)。
  • TodoApi.Models:项目自定义模型(包含 TodoContext 数据上下文和实体类)。

这段代码实现了一个基础的 ASP.NET Core API 服务:

  1. 使用内存数据库​:通过 EF Core 管理 Todo 数据(非持久化)。
  2. 自动 API 文档​:开发环境下通过 OpenAPI 提供接口文档。
  3. 启用 HTTPS 重定向​:增强安全性。
  4. 路由到控制器​:处理业务逻辑。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档