写在前面 在前一小节中,我们创建了基于RESFULL风格的服务.这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移. 一.开发环境 [1]运行环境:win10 家庭版 [2]开发工具:Visual Studio 2019 16.3.10 [3]数据库:MySql 8.0.0 二.创建项目 [1]从文件菜单中选择新建 >项目 将项目命名为 TodoApi 然后单击创建. 如图所示: [2]选择ASP.NET Core Web 应用程序模板 再单击下一步. [3]在创建新的 ASP…
Code First模式 Code First是指"代码优先"或"代码先行". Code First模式将会基于编写的类和配置,自动创建模型和数据库. 一.准备工作 创建一个(.NetCore 类库),命名为NetCoreWebApi.Model. 通过Nuget程序包安装相关依赖 在类库项目上右键->管理NuGet程序包,下面会打开程序包管理器控制台窗口: 注意版本,因为本人NetCore 是2.2版本,所以程序包都选择了2.2.6 二.正式开始 根据.NE…
原文地址:  ASP.NET Core 2.2 WebApi 系列[九]使用SignalR 今天,看到了大牛的这篇博文,  发了一下评论, 我很惊喜, 没想到他很快就回复了我,  而且通过QQ帮助了SignalR项目运行中的问题,  我在这里表示感谢! 下面, 我实练他的源码中.   中间碰到一些坎 ,(后找资料找到了),  现将这些坎作为他这篇文章的内容补充吧! 注意点一: VS2019首次装了这个客户端库, 会出现这个上面界面 , 但是下次再装的话不会再弹出这个界面了, 而需要在 libma…
目录 写在前面 一.运行环境 二.项目搭建 三.测试 API 四.基础知识 五.写在最后 写在前面 C#语言可以创建RESTful服务,被称作WebApi.在这里总结学习使用支持创建.读取.更新.删除(CRUD)操作的ASP.NET Core创建RESTful服务. 一.运行环境 [1]运行环境:win10 家庭版 [2]开发工具:Visual Studio 2019 16.3.10 [3]开发数据库:MySql 8.0.0 二.项目搭建 [1]从"文件""菜单中选择&quo…
一.步骤 从“文件”菜单中选择“新建”>“项目” . 选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” . 将项目命名为 NetCoreWebApi,然后单击“创建” . 选择“.NET Core”和“ASP.NET Core 2.2” . 选择“API”模板,然后单击“创建” . 创建完成后,项目结构如下: 二.项目解读 Properties——launchSettings.json 启动配置文件,一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工…
现阶段,基本上都是前后端分离项目,这样一来,就需要前后端配合,没有统一返回格式,那么对接起来会很麻烦,浪费时间.我们需要把所有接口及异常错误信息都返回一定的Json格式,有利于前端处理,从而提高了工作效率. 一.准备工作 定义响应实体类 /// <summary> /// 响应实体类 /// </summary> public class ResultModel { /// <summary> /// 状态码 /// </summary> public in…
为什么要使用泛型仓储?好处是? 前两章在autofac注入的时候,用的User类作为例子,写了增删改查四个接口,也就是仓储的GRUD. 当我们再添加一个实体(比如Student)时,StudentRepository跟UserRepository代码几乎一样的代码,重复量很大,为了减少冗余.提高工作效率,使用泛型仓储最好不过了 好处: 减少代码冗余 提高了开发人员的工作效率 提高对数据库访问的维护 一.泛型仓储接口和泛型仓储实现类 泛型仓储接口 在类库项目上右键->添加->新建文件夹,命名为R…
1.添加 SignalR 客户端库 右键点击项目->然后选择“添加” >“客户端库” 提供程序选择:unpkg ,库选择:@aspnet/signalr@1.1.4 选择“选择特定文件” ,展开“dist/browser” 文件夹,然后选择“signalr.js” 和“signalr.min.js” 选择指定位置安装即可 2.定义Hub集线器 创建MessageHub 并继承Hub.Hub类管理连接.组和消息 using System.Collections.Generic; using Sy…
在之前的泛型仓储模式实现中,每个增删改都调用了SaveChanges方法,导致每次更新都提交了事务. 在实际开发过程中,我们经常遇到同时操作多张表数据,那么按照之前的写法,对数据库提交了多次操作,开启了多事务,不能保证数据的一致性,结合工作单元(UnitOfWork)是为了把多次操作放到同一事务中,要么都成功(Commit),要么都失败(Rollback),保证了数据的一致性. 修改仓储类 先把仓储接口中增删改接口无返回(void)值类型,然后去仓储实现类去掉SaveChanges方法,交给UO…
MiniProfiler 是一款性能分析的轻量级程序,可以基于action(request)记录每个阶段的耗时时长,还是可以显示访问数据库时的SQL(支持EF.EF Code First)等 一.安装程序包 通过Nuget安装MiniProfiler : Install-Package MiniProfiler.AspNetCore.Mvc Install-Package MiniProfiler.EntityFrameworkCore 二.配置 在ConfigureServices方法中添加M…