ASP.NET Core Web API 使用 Visual Studio 2022 + MySQL 创建

先决条件

1.创建ASP.NET Core Web API项目

  • 从“文件”菜单中选择“新建”“项目”。
  • 在搜索框中输入“Web API”。
  • 选择“ASP.NET Core Web API”模板,然后选择“下一步”。
  • 在“配置新项目”对话框中,将项目命名为“TodoApi”,然后选择“下一步”。
  • 在“其他信息”对话框中:
    1. 确认“框架”为“.NET 6.0 (长期支持)”。
    2. 确认已选中“使用控制器(取消选中以使用最小 API)”。
    3. 选择“创建”。

 

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
  1. 创建ConnectionStrings配置类,与【appsetting.json】中的ConnectionStrings配置项字段对应
  2. 获取配置
    // 根据环境变量合并配置文件
    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);
  3. 配置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请求进行测试

到这里这篇文章就结束了, 希望此文对大家有所帮助

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐