ASP.NET Core Web API 使用 Visual Studio 2022 + MySQL 创建
先决条件
- 带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2022。
- MySQL数据库
1.创建ASP.NET Core Web API项目
- 从“文件”菜单中选择“新建”“项目”。
- 在搜索框中输入“Web API”。
- 选择“ASP.NET Core Web API”模板,然后选择“下一步”。
- 在“配置新项目”对话框中,将项目命名为“TodoApi”,然后选择“下一步”。
- 在“其他信息”对话框中:
- 确认“框架”为“.NET 6.0 (长期支持)”。
- 确认已选中“使用控制器(取消选中以使用最小 API)”。
- 选择“创建”。
2. 导入项目所需 NuGet 包
2.1 添加 NuGet 包
2.2搜索安装所需的 NuGet 包
安装上图说所示的NuGet包即可
3.引入数据库上下文(引入前请确保所需 NuGet 包全部安装完成)
3.1打开程序包管理控制台
3.2输入数据库链接串
- MySQL写法:
- Scaffold-DbContext "Server=数据库地址;Port=端口号;User Id=账号;Password=密码;Database=数据库名称;" "Pomelo.EntityFrameworkCore.MySql" -OutputDir 自定义 -force
- 在控制台输入以上内容回车即可
注意:生成的 XXXContext.cs 文件需进行下更改,将原有的代码删除或注释添加如下代码
4.添加【Program.cs】服务配置
4.1【appsetting.json】配置文件配置:
配置位置:
配置字符串:
"ConnectionStrings": {
"MySqlDataBase": "Server=数据库地址;Port=端口号;User Id=账号;Password=密码;Database=数据库名称"
}
4.2【Program.cs】服务配置
- NET6.0 已将 Program.cs 和 Startup.cs 整合到 Program.cs
- 创建ConnectionStrings配置类,与【appsetting.json】中的ConnectionStrings配置项字段对应
- 获取配置
// 根据环境变量合并配置文件 IConfigurationRoot configurationRoot = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{自定义环境变量}.json", true, true) .AddEnvironmentVariables() .Build(); // 获取配置变量 ConnectionStrings connectionStrings = new(); configurationRoot.GetSection(nameof(ConnectionStrings)) .Bind(connectionStrings);
- 配置MySQL数据库及连接池
// 配置MySQL数据库及连接池
builder.Services.AddDbContextPool<TestContext>(option =>
option.UseMySql(connectionStrings.MySqlDataBase, ServerVersion.Parse("8.0.26-mysql")), poolSize: connectionStrings.PoolSize);
5.构建控制器进行测试
1.创建控制器
-
右键单击 Controllers 文件夹。
-
选择“添加”“新建构建项”。
-
选择“其操作使用实体框架的 API 控制器”,然后选择“添加” 。
-
在“添加其操作使用实体框架的 API 控制器”对话框中:
- 在“模型类”中选择“TodoItem (TodoApi.)”。
- 在“数据上下文类”中选择“TodoContext (TodoApi.)”。
- 选择“添加”。
2.通过构造器注入EF
3.创建get请求查询方法进行测试
4.Ctrl + F5 启动项目进行测试
- 启动后界面会列出所有的控制器和接口,非常方便测试
- 访问Get请求进行测试