首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
SmartSql 动态仓储
】的更多相关文章
SmartSql 动态仓储
动态代理仓储 SmartSql源码:https://github.com/Ahoo-Wang/SmartSql 简介 动态代理仓储(SmartSql.DyRepository)组件是SmartSql非常独特的功能,它能简化SmartSql的使用.对业务代码除了配置几乎没有侵入.可以说使用SmartSqlContainer是原始方法,而DyRepository自动帮你实现这些方法. DyRepository的表现是只需要定义仓储接口,通过简单配置就能自动实现这些接口并注册到IoC容器中,使用时注入…
SmartSql 动态代理仓储
SmartSql 动态代理仓储,一个高生产力的组件.该组件看似很难懂,实际上仅做了映射Statement,转发请求的功能.但却意义重大. SmartSql提供了一个通用泛型仓储接口 SmartSql.DyRepository.IRepository<TEntity, TPrimary> public interface IRepository<TEntity, TPrimary> : IRepository { int Insert(TEntity entity); int Del…
SmartSql使用教程(2)——使用动态代理实现CURD
一.引言 接着上一篇的教程,本章我们继续讲SmartSql.今天的主题是动态仓储. 老规矩,先上一个项目结构 从第二章开始.我们将原来的单一项目做了一个分离.方便之后的更新. 在这个结构中.原本上一章的DataAccess没有了.取而代之的是Repository.这个就是动态仓储的项目.接下来我们从这个Repository项目开始说.这也是动态仓储的核心. 二.Repository项目 1. Nuget依赖 SmartSql有一个独立的动态仓储库,即:SmartSql.DyRepository.…
你必须知道的 SmartSql !
介绍 SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics ...... 简洁.高效.高性能.扩展性.监控.渐进式开发! 她是如何工作的? SmartSql 借鉴了 MyBatis 的思想,使用 XML 来管理 SQL ,并且提供了若干个筛选器标签来消除代码层面的各种 if/else 的判断分支. SmartSql将管理你的 SQL ,并且通过筛选标签来维护本来你在…
SmartSql使用教程(3)——SmartSql中的事务,及AOP的使用
一.引言 经过两章的铺垫,我们现在对SmartSql已经有了一定的了解,那么今天我们的主题是事务处理.事务处理是常用的一种特性,而SmartSql至少提供了两种使用事务的方法.一种是通过Repository(动态仓储)或者ITransaction的常规调用,一种是基于AOP提醒的动态代理方式.接下来我们一个个说. 上图是这一章的项目结构,这次的结构略微有点复杂,我一一解释. 项目结构分为3个部分,Api部分分成了3个.NetCore MVC项目,三个项目分别是常规调用:基于.NetCore原生D…
SmartSql使用教程(4)——多库配置与使用
一.引言 已经几个月没更新了.本来上一章的预告是准备写TypeHandler的相关特性的.但是在准备的时候.SmartSql的作者重构了一下TypeHandler,使得我一下子没搞懂TypeHandler的原理,所以一直没有下手来写这一章.但最近群里(qq群:604762592)有好几个小伙伴在问多库配置的问题.就先写一下关于这个问题的东西吧. 关于多库的场景在这里就不多概述了,想必大家都或多或少做过此类项目.我就直接进入主题,说一下关于SmartSql下单个项目中多数据库的配置和使用. 二.项…
CQRS学习——Storage实现(EF+Code First+DynamicReponsitory)[其四]
[这里是的实现,指的是针对各个数据访问框架的一个基础实现] 目标 定义仓储/QueryEntry的基本功能 实现仓储的基本功能,以利于复用 实现一些常用的功能 提供一些便利的功能 目标框架 博主使用的ORM框架是EF6.x,使用MAP来配置模型和数据库之间的映射(因为模型是定义在领域层[CQRS]的),所以不打算使用声明式的Attribute.使用code first来生成数据库. 仓储基本功能 使用一个泛型接口定义了一个仓储需要实现的功能: public interface IBasicRep…
SmartSql 介绍
介绍 SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics ...... 她是如何工作的? SmartSql 借鉴了MyBatis的思想,使用XML来管理SQL,并且提供了若干个筛选器标签来消除代码层面的各种if/else的判断分支. SmartSql将管理你的SQL,并且通过筛选标签来维护本来你在代码层面的各种条件判断,使你的代码更加优美. 同时SmartSql还…
SmartSql V3 重磅发布
超轻量级的ORM框架!107kb 更新内容 移除Dapper依赖 支持存储过程 增强扩展性 重构代码 优化缓存策略 动态实现仓储接口 支持 参数&结果映射 & TypeHandler 高性能 性能测评 BenchmarkDotNet=v0.10.14, OS=Windows 10.0.17134 Intel Core i7-6700K CPU 4.00GHz (Skylake), 1 CPU, 8 logical and 4 physical cores .NET Core SDK=2.1…
.Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,web项目近引用接口而不引用实现,在配置文件中进行配置实现程序集合类,注入业务逻辑层而不必注入数据访问层. 一.数据访问层 在项目中摒弃数据访问层或者使用EntityFramework作为数据访问层. 在项目中数据访问层主要实现数据的存储,仔细看一下EntityFramework发现DbContext…