概述
如今.NET 6发布已经有一段时间了,在生产环境运行的基于.NET 6的项目也趋于稳定,没有大的Bug。
在.NET 6发布之前,我已向大家分享了关于《创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性》。
在正式生产环境中,也使用了.NET 6的Minimal API来开发微服务,无论是从编码速度还是运行效率上来说,表现都很不错。
今天,就为大家分享一下在.NET 6 Minimal API应用程序中,如何使用Entity Framework Core(EF Core)连接并操作SQLite数据库。
准备工作
本教程.NET 6示例程序需做如下准备工作:
开发工具
Visual Studio 2022 (或者VS Code,Rider 2021.3)
数据库管理工具
Navicat(或DataGrip)
创建原语数据表的脚本
插入示例数据:
创建项目
本教程以Visual Studio创建项目为例。
打开Visual Studio的起始窗口,选择ASP.NET Core Web API项目模板,如下图:
在配置新项目窗口中,分别配置如下信息:
1:项目名称
2:项目存储的磁盘路径
3:解决方案名称
在其他信息窗口中,配置如下信息:
框架:选择.NET 6.0
身份验证类型:选择无
配置HTTPS:不勾选
启用Docker:不勾选
使用控制器(取消选中以使用最小API):不勾选
启用OpenAPI支持:勾选
确认配置后,单击创建按钮,Visual Studio将为我们创建一个.NET 6 Minimal Web API项目。
安装NuGet程序包
本教程,基于.NET 6 Minimal Web API使用EF Core操作SQLite数据库需要使用到如下的NuGet程序包:
- Microsoft.EntityFrameworkCore.Sqlite
- Carter
在Visual Studio中,打开NuGet程序包管理器,分别安装这两个NuGet程序包,如下:
创建项目文件夹
在项目中分别创建如下的目录:
- DataAccess:存放数据访问有关的代码文件
- Db:存放SQLite数据库文件
- Models:存放实体模型
- Modules:存放不同模块的接口文件
编写示例代码
创建实体模型
在Models文件夹中创建User.cs
文件,用于映射数据表da_user
,代码如下:
创建数据库上下文
在DataAccess文件夹中创建MyDbContext.cs
文件,用于配置数据库访问上下文,代码如下:
创建服务接口模块
在Modules文件夹中创建UserModule.cs
文件,用于模块化组织接口服务,代码如下:
注:本教程使用到了Carter这个库,具体使用请参考《Carter—模块化组织和管理.NET 6 Minimal API应用程序接口服务的利器!!!》。
配置Program.cs文件
最后,我们需要在Program.cs
文件中注册一些服务,比如数据库上下文MyDbContext
,Carter
等等,示例代码如下:
运行查看效果
至此,我们的示例程序就写好了,运行项目。在浏览器打开项目地址(比如我的:http://localhost:5197/swagger/index.html),可看到如下的Swagger界面,说明运行成功:
向SQLite数据表写入数据
接下来,我们演示如下使用EF Core向SQLite数据表中写入数据。
打开UserModule.cs文件,在其中添加创建用户的路由映射及方法,如下:
重新运行项目,访问地址:http://localhost:5197/user/create
如果得到如下的结果,表示数据成功被写入到SQLite数据表:
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册