.netcore-FreeSql的使用-搭建context】的更多相关文章

之前用netcore搭建了一个小项目,数据库操作用的是要手写sql语句的connection和command,一直想调个EFCore或者类似SOA那样的框架 今天看到了DotNet公众号提到的.NET Core新型ORM,于是兴起打算试试如何去使用 其推文转自 cnblogs.com/kellynic/p/10645049.html 1. 要搭建context,则自然需要继承自框架的DbContext 先新增Nuget包——FreeSql,但是要注意的是FreeSql.DbContext并不是在…
WebApi必须保证安全,现在来添加JWT认证 1.打开appsettings.json添加JWT认证的配置信息 2.在项目根目录下新建一个Models文件夹,添加一个JwtSettings.cs的实体 namespace Dinner.WebApi.Models { public class JwtSettings { /// <summary> /// 证书颁发者 /// </summary> public string Issuer { get; set; } /// <…
初衷是想用dapper搭建一个高性能的架构,因为dapper操作数据库的效率很高 1.VS创建一个NetCore WebApi的框架,然后解决方案添加一个NetStandard的类库 整个解决方案如图所示 2.根据DDD架构的思想类库完全充当一个仓储的功能,因为服务层本来就是提供接口的,所以这里不再构建Application层,直接使用WebApi充当Application层,由于底层使用的是Dapper,所以数据层直接和仓储层合并了,要是使用EntityFramework,需要再构建一个Ent…
1- 启动项目 安装.NETCORE SDK,教程在网上可以搜索的到,这里就不讲述了.简单粗暴的方式就是安装最新的VS2015. 2-搭建框架 2.1 打开VS新建一个项目,在弹出的新建项目对话框中,选中NET CORE选项,右边出现的选项就是.NET CORE的所有可建项目了.然后和创建传统.NET项目一样的创建项目就行了. PS:不理解的可以参考 园子里面翻译小组的文章 2.2 开始编写领域实体对象.这里是先实现一个简单的权限管理.所以现在GR.Core 类库中创建一个domain文件夹,然…
源 FreeSql 作者做了很完善的组件 我看了一下,感觉很实用,使用上有很大的可自定义操作的地方,跟传统Orm固定格式不同,也异于Dapper的设计,支持表达式树 原地址 https://www.cnblogs.com/kellynic/p/10310484.html 关于魔改的内容 个人感觉很喜欢~就魔改了一下,增加了一个上下文 顾名思义,界定数据源的,这个设计其实是仿EF的,因为很多高仿Dapper的组件都是依赖于连接对象,做的一组扩展方法 在中大型系统里面,可能有一组产品,每个有独立的数…
上一节我们讲到实体,仓储接口和仓储接口的实现需要遵循约定的命名规范,不仅是规范,而且为了依赖注入,现在我们实现仓储的依赖注入 在NetCore WebApi项目中新添加一个文件夹(Unit),当然你也可以直接放在根目录下面,关键是后期类增加了你会找对地方,看起来不是那么乱,添加一个RuntimeHelper 我先说一下实现仓储依赖注入的基本思路,就是通过反射获取所有的程序集,然后在程序集中找到 I+实体+Repository的接口和 实体+Repository的实现类,然后在依赖注入容器中注册他…
看下我们上一节搭建的架构,现在开始从事底层的封装 1.首先需要一个实体的接口IEntity namespace Dinner.Dapper { public interface IEntity<TPrimaryKey> { TPrimaryKey Id { get; set; } } } 2.由于所有的数据库实体都是有主键的,所以这里定义一个BaseModel,这里我用的主键是Guid,你们可以换成int using System; namespace Dinner.Dapper { publ…
因为我是一直写C#的,所以最近闲暇时间一直在学习.NET Core,该博客的后端使用的就是.NET Core WebApi然后加前端Vue. 首先后端.NET Core搭的框架是一个仓储层+服务层+API,然后数据库访问是EF Core+Mysql数据库.具体接口都使用的异步,使用第三方IOC容器解耦. 然后前端页面是网上找的模板https://www.yangqq.com/link.html,博主有各种风格的博客,可以去看下.然后接口请求是axios,vue用来处理数据. 开发环境:vs201…
上一节讲解了仓储的依赖注入,想必现在都可以通过构造函数依赖注入直接调用 但是WebApi只是提供一个接口调用,为了方便我们的操作,我们得给他加上一个图形化界面工具,使用Swagger WebApi项目添加Swagger的Nuget包:Swashbuckle.AspNetCore 打开StartUp.cs类,在ConfigureServices方法里面添加下面的代码 #region 添加SwaggerUI services.AddSwaggerGen(options => { options.Sw…
上一节讲了类库添加一些底层的基本封装,下面来添加实体和仓储 1.Entities文件夹添加一个实体类Users,继承BaseModel,即拥有BaseModel的主键 using System; namespace Dinner.Dapper.Entities { public class Users : BaseModel { /// <summary> /// 用户名 /// </summary> public string UserName { get; set; } ///…