ASP.NET Core微服务(一)——【完整API搭建及访问过程】
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=用户名;Password=密码;' 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=用户名;Password=密码;】
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搭建及访问过程】
请关注,后续内容很快更新。
ASP.NET Core微服务(一)——【完整API搭建及访问过程】相关推荐
- ASP.NET Core微服务(七)——【docker部署linux上线】(RDS+API接口测试部分)
ASP.NET Core微服务(七)--[docker部署linux上线]: 本文测试采用阿里云的RDS(sqlserver服务器)+ECS(linux服務器)进行测试,由于是测试,[按量付费]买个最 ...
- ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】
ASP.NET Core微服务(二)--[ASP.NET Core Swagger配置]: 环境:win10专业版+vs2019+sqlserver2014/2019 ASP.NET Core微服务( ...
- 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...
<ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...
- ASP.NET Core微服务(六)——【redis操作】
ASP.NET Core微服务(六)--[redis操作]: Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类key/value存储的不足, ...
- ASP.NET Core微服务(五)——【vue脚手架解析接口】
ASP.NET Core微服务(五)--[vue脚手架解析接口]: 后台接口请参照:ASP.NET Core微服务(三)--[跨域配置]:[https://blog.csdn.net/feng8403 ...
- ASP.NET Core微服务(四)——【静态vue使用axios解析接口】
ASP.NET Core微服务(二)--[ASP.NET Core Swagger配置]: 环境:win10专业版+vs2019+sqlserver2014/2019+vsCode+在线资源 boot ...
- ASP.NET Core微服务(三)——【跨域配置】
ASP.NET Core微服务(三)--[跨域配置] 对应练习demo(跨域)下载路径(1积分):[https://download.csdn.net/download/feng8403000/151 ...
- ASP.NET Core 微服务初探[1]:服务发现之Consul
ASP.NET Core 微服务初探[1]:服务发现之Consul 在传统单体架构中,由于应用动态性不强,不会频繁的更新和发布,也不会进行自动伸缩,我们通常将所有的服务地址都直接写在项目的配置文件中, ...
- .Net Core微服务入门——Ocelot API网关接入(一)
.Net Core微服务入门--Ocelot API网关接入 上一章我们测试了一个简单的Client 端访问Consul实现服务注册与发现,但是现实生产环境我们直接通过Client自行连接Consul ...
最新文章
- java field setfont_Java JTextField.setFont方法代碼示例
- 平流式初沉池贮砂斗计算_给排水之市政污水处理构筑物:平流式、曝气式、旋流式三大沉砂池...
- .net 文件类型 及说明
- Java虚拟机——类加载机制
- 大规模神经网络最新文献综述:训练高效DNN、节省内存使用、优化器设计
- python3学习笔记10(迭代器和生成器)
- WebClient UI create a hidden form and submit
- [js] 请使用js实现商品的自由组合,并说说你的思路
- 顺序结构,选择结构,反编译
- MySQL关闭Enterprise Server源码
- es6 import 命令
- Flex利用Datagrid来设置全选和单选
- mysql的瓶颈_MySQL 瓶颈分析及优化
- Symfony2Book16:Symfony2内部03-事件调度
- c语言函数.pdf文档,c语言库函数表.pdf
- php-emoji使用微信,微信开发中emoji表情的问题
- Django单元测试类和测试数据回滚
- 2019届华为秋招面试
- Seagull island
- 无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)
热门文章
- qimage加载bmp图片_批量修改图片大小,我发现了最简单的方法!
- linux cpp vscode远程调试 的配置
- 你多久更新一次简历,决定了你的收入多久能提升
- [linux] 进程五状态模型
- 在Jenkins中获取GitHub对应Repository的Resource Code
- java课程之团队开发冲刺1.4
- 分布式系统关注点(9)——想通关「限流」?只要这一篇
- 使用java多线程分批处理数据工具类
- 反骨仔的 2016 年度全文目录索引
- win2003配置apache2.2下,php页面出现乱码的解决方法