系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net知识等等. 5min+不是超过5分钟的意思,"+"是知识的增加.so,它是让您花费5分钟以下的时间来提升您的知识储备量. 前言 这次终于可以给大家分享一些AspNet Core方面的东西了…
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logging组件中第三方日志工具的集成.只要按照Logging组件中相关接口的要求提供相应的实现(ILogger.ILoggerProvider),然后把实现的ILoggerProvider加入到LoggerFactory就可以使用了,非常方便.这里以NLog为例进行实践.关于NLog的详细教程可以参考h…
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包含控制台.文本文件.数据库,一般都是创建全局的Logger,在需要记录日志的地方调用相应的Logger输出至相应目标.遇到输出目标多了有时候也感觉挺麻烦的,不过也还能接受.开始学习.NetCore后接触到了日志记录框架(Logging组件),虽然完全可以用之前的方式记录日志,不过应该使用更通用的方式…
# AutoMapper在asp.netcore中的使用  automapper 是.net 项目中针对模型之间转换映射的一个很好用的工具,不仅提高了开发的效率还使代码更加简洁,当然也是开源的,https://github.com/AutoMapper,这不多做介绍,详细看,官网下面是介绍它在 .net core 项目中的使用 1. 首先当然先引用 AutoMapper - 你可以在NuGet中直接输入AutoMapper直接引用,也可以在控制台输入 Install-Package AutoMa…
Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享.由于Cache存放在服务器的内存中,所以用户获取缓存资源的速度远比从服务器硬盘中获取快,但是从资源占有的角度考虑缓存也不是越多越好.经常要用到且不会频繁改变且被用户共享的数据很适合放在缓存中.在介绍netcore的缓存前我们先回顾下net framework中的缓存技术. net framework中常用的缓存有两种: System.Runtime.Caching 和 System.Web.Caching 1…
netcore中自带了Ioc框架,这也影响了我们的编码习惯,以前都是静态类或者直接new对象,现在有了Ioc框架的支持,我们也不必守旧,应当使用起来,接受这种对象管理方式.使用过java的同仁,都习惯了Spring,感觉离开了Spring就好像失去了灵魂一样.Spring经过多年的沉淀,非常的稳定和灵活,相比之下,netcore中自带的Ioc框架太过轻量,中规中矩的使用还算够用,但是其灵活性的确有待加强.比如属性注入.字段注入.方法参数注入等等,虽然说官方强烈建议使用构造函数注入,并且只提供了构…
EF常用处理关联加载的方式有3中:延迟加载(Lazy Loading).贪婪加载 (Eager Loading)以及显示加载. 一.EF Core  1.1 1.当前的版本,还不支持延迟加载(Lazy Loading),不将来是否支持 2.目前支持贪婪加载:使用Include加载 关联表 的数据,这种方式 使用一条Join的 Sql语句进行查询. 3. 贪婪加载的优势在于仅执行1次SQL查询即返回所需要的结果.但使用JOIN查询在数据库记录条数较多时,多条简单的SQL查询往往比一条复杂的JOIN…
一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql 注:这是第三方的 EF Core 的ORM框架,支持Synac I/O访问操作MySql数据,不是MySql官方的数据驱动. 1.本框架支持Code First 和Server First 问题:Server First 生成代码没有附带主外键关联. 二.Server…
.NetCore中如果实现权限控制的问题,当我们访问到一个Action操作的时候,我们需要进行权限控制 基于claims 角色控制 基于角色控制总觉得范围有点过大,而且控制起来感觉也不是太好,举一个例子就是,一个添加操作Action,如果通过角色控制,通过写起来就有点痛苦 如果一个添加操作有20个角色都可以访问,那么在角色上需要指定好所有的角色,通过用户中的角色Claims匹配访问 通过Claims中的 claims.Add(new Claim(ClaimTypes.Role, "rolecod…
一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.cnblogs.com/tianma3798/p/6940794.html 注意:对MySql版本要求,MySQL Server 5.7 or higher 1.MySql的核心 安装 Install-Package MySql.Data.EntityFrameworkCore -Version 2.…