ASP.NET Core微服务(一)——【完整API搭建及访问过程】:
环境:win10专业版+vs2019+sqlserver2014/2019
对应练习demo下载路径(1积分):【https://download.csdn.net/download/feng8403000/15134527】
对应练习sql下载路径(0积分):【https://download.csdn.net/download/feng8403000/15134699】
1、创建API项目
2、项目层级以及作用
3、引入数据库·这里采用的是sqlserver2014版本,如果是2019以上版本,数据库连接的地址请勿使用【127.0.0.1】,或者用【.】通用即可
3.1、添加NuGe程序包
3.2、添加4个需要的包
安装步骤:
四个包如上安装即可,查看是否安装成功
或
3.3、通过【工具】->【NuGet包管理器】->【程序包管理器控制台】
自动连接写法·sqlserver2019【Data Source=.】
Scaffold-Dbcontext 'Data Source=127.0.0.1;Initial Catalog=数据库name;Integrated Security=True;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context 自定义nameContext
密码链接写法·sqlserver2019【Data Source=.】
Scaffold-Dbcontext 'Data Source=127.0.0.1;Initial Catalog=数据库name;User Id=用户名assword=密码;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context 自定义nameContext
这样,我们就有了可以操作的EF对象了。
4、添加【Startup.cs】服务配置
命名空间需求: - using Microsoft.EntityFrameworkCore;
- using WebApiDemo.Models;
复制代码
所需代码: - services.AddDbContext<Girl1804Context>(options =>
- {
- options.UseSqlServer(Configuration.GetConnectionString("Girl1804DB"));
- });
复制代码
添加位置:
【appsetting.json】配置文件配置:
配置字符串: - "ConnectionStrings": {
- "Girl1804DB": "Data Source=127.0.0.1;Initial Catalog=girl1804;Integrated Security=True;"
- },
复制代码
配置位置:
账号密码的方式:【Data Source=服务器地址;Initial Catalog=数据库name;User Id=用户名assword=密码;】
5、EF,通过构造方法注入测试
5.1、添加【api控制器】
5.2添加构造方法注入EF生成的类【Girl1804Context】
5.3、配置路由【[Route("api/[controller]/[action]")]】以及创建查询测试EF
- public object GetInfo() {
- return db.GirlSixes.ToList();
- }
复制代码
5.4、启动项目,并访问【api接口】,路径为:【http://localhost:5000/api/Test/GetInfo】
【Ctrl+F5】启动
查看浏览器:默认打开路径应为【http://localhost:5000/weatherforecast】
输入:【http://localhost:5000/api/Test/GetInfo】进行数据访问测试。
6、增加函数【Add】·在【TestController】内完成 - /// <summary>
- /// 添加方法
- /// </summary>
- /// <param name="nickName"></param>
- /// <param name="introduce"></param>
- /// <returns></returns>
- public bool Add(string nickName,string introduce) {
- GirlSix g = new GirlSix();
- g.Id = System.Guid.NewGuid().ToString("N");
- g.CreateDate = DateTime.Now;
- g.NickName = nickName;
- g.Introduce = introduce;
- db.GirlSixes.Add(g);
- int rows = db.SaveChanges();
- return rows > 0 ?true:false;
- }
复制代码
7、修改【SelectById】&【Update】函数·在【TestController】内完成 - /// <summary>
- /// 单个查询
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public object SelectById(string id) {
- return db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
- }
- /// <summary>
- /// 修改方法
- /// </summary>
- /// <param name="id"></param>
- /// <param name="nickName"></param>
- /// <param name="introduce"></param>
- /// <returns></returns>
- public bool Update(string id,string nickName, string introduce) {
- GirlSix girlSix = db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
- if (girlSix == null) {
- return false;
- }
- girlSix.NickName = nickName;
- girlSix.Introduce = introduce;
- int rows = db.SaveChanges();
- return rows > 0 ? true : false;
- }
复制代码
8、删除函数【Del】·在【TestController】内完成 - /// <summary>
- /// 删除方法
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public bool Del(string id) {
- GirlSix girlSix = db.GirlSixes.Where(o => o.Id == id).SingleOrDefault();
- if (girlSix == null)
- {
- return false;
- }
- db.GirlSixes.Remove(girlSix);
- int rows = db.SaveChanges();
- return rows > 0 ? true : false;
- }
复制代码
9、postman测试·【Ctrl+F5】启动后,根据对应的接口路径进行测试。
9.1查询所有测试:
9.2、增加测试
9.3、修改测试
9.4、删除测试
10、总结
a)、EF包4个,别错喽
b)、根据对应的数据库使用对应的引入方式,本地用直接连,远程用账号密码连。
c)、在ASP.NET Core中引入的EF如果要使用多表联合查询建议使用Linq进行操作。
d)、在修改操作时直接SaveChanges操作即可。
希望此文对大家有所帮助,后续会编写
ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】、
ASP.NET Core微服务(三)——【跨域配置】、
ASP.NET Core微服务(四)——【静态vue使用axios解析接口】、
ASP.NET Core微服务(五)——【vue脚手架解析接口】、
ASP.NET Core微服务(六)——【redis操作】、
ASP.NETCore微服务(七)——【docker部署linux上线】
等文章。
此文标题为ASP.NET Core微服务(一)——【完整API搭建及访问过程】
请关注,后续内容很快更新。 来源:https://blog.csdn.net/feng8403000/article/details/113751632 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |