.net Core Web Api经典三层架构的设计与实现(3)

没想到有人催更了哈哈 还有人问我问题 满满的成就感 趁着现在工作不忙 继续更新!

上一节我们实现了一个简易的API接口,但是我们发现,实现的API接口并没有真正的从数据库中去读取数据,在真正的开发中,和数据库的交互是必不可少的。那么接下来我们就去学习一下数据库的连接以及实体类的建立。

(3)数据库的连接以及实体类的建立 

首先呢,我们需要安装以下三个Nuget程序包:工具->Nuget包管理器->管理解决方案的Nuget程序包

 安装以下三个程序包:

 我们既然要连接数据库,肯定要有这个数据库,接着我们去建立一个新的数据库

首先确保我们电脑上有sqlserver和ssms,没有的同学去安装一下哈,我就不带大家去安装了

第一步 连接数据库

 第二步 新建一个数据库

 

新建表

 

 建立一个叫做student的表,包含Id和Name两个字段

记得给Id字段设置自增

 建完表之后我们往里面插入一条数据

 ok,这样我们的数据库就有数据了,我们去试着能不能在API接口中获取到这条数据

再次回到我们的Visual Studio中,我们点击工具->Nuget包管理器->程序包管理控制台

 我们要连接的是本地的数据库,我使用的是Windows身份验证,输入以下字符串

Scaffold-DbContext "Server=localhost;Database=Test;Trusted_Connection=True;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

 localhost代表的是本地数据库,Test是我们刚建立的数据库的名称,后面的字符串代表使用Windows身份验证登录并且我们信任服务器证书。最后的-OutputDir Models代表我们把实体类和数据库上下文输出到了一个叫做Models的文件夹中

ps:如果你使用的是账号密码登录,使用以下字符串:

Scaffold-DbContext "Server=localhost;Database=你的数据库名称;User Id=你的账号;Password=你的密码;TrustServerCertificate=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

 

然后我们发现资源管理器中多了一个Models的文件夹 这就代表连接成功了!

 

 解释一下这个Context数据库上下文是什么 大家可以看一下这个博主的文章:DBContext是什么 大概意思就是通过Context构建起后端代码与数据库交互的桥梁

接着我们要在programs里把Context给注入进去

builder.Services.AddDbContext<TestContext>(opt =>
    opt.UseSqlServer(builder.Configuration["ConnenctionString"]));

 ConnenctionString就是我们的数据库连接字符串 我们放到了appsetting里

"ConnenctionString": "Server=localhost;Database=Test;Trusted_Connection=True;TrustServerCertificate=True;"

 接下来我们在Testcontroller中使用构造函数注入,把数据库上下文Context注入进去 然后就可以在这个controller中使用它去操作数据库了

 

 写上这几行代码  我们的通过构造函数进行的依赖注入就完成了(新手可能不太理解,大家最好去搜搜构造函数依赖注入的方式 自己去思考 不要着急 现在跟着我做就可以)

最后我们写一个方法 去数据库中查询我们的student表

这里使用的查询方式是EF Core 有点类似于java的mybatisplus,不明白的同学可以去学习一下EF core的查询方式

最后我们点击运行项目 查看swagger的接口 就可以看到我们的student表的第一条数据了

 我们可以看到 数据库的数据已经被查询出来了!

通过这章,我们学习了如何连接数据库并进行操作数据库,在真正的开发中还需要进行进一步的数据组装,这里只是一个简单的小例子。

下一章我们将把我们的项目升级为三层架构,即数据库访问层——业务逻辑层——API接口层

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值