轻量ORM-SqlRepoEx (九)与Dapper共舞
Dapper就另一个轻量ORM,Dapper及其扩展解决了数据访问端的大部门问题,提供了如数据事务管理、缓存等支持。SqlRepoEx的重点解决了Lambda转换成SQL语句,使SQL使用强类型编写,减少字串错误的,实现编译时检查。
SqlRepoEx同时也实现了数据的映射和访问,因而Dapper并不是SqlRepoEx所必需的,但Dapper中有些如数据事务管理、缓存等功能还是很不错的。使用Dapper需拼接SQL字串,而SqlRepoEx可以生成SQL字串,这种结合,还是很相匹配的。
可以通过两种方式实现SqlRepoEx 与 Dapper 互动。
一、直接用SqlRepoEx 生成Sql语句,然后将此Sql作参给 Dapper就可以了,这种做法可以在利用SqlRepoEx 强大的lambda解析Sql的功能,同时也可完全使用Dapper的功能,如果项目原来使用过Dapper,也不会对原有代码形成任何影响。
二、使用 SqlRepoEx.Adapter.Dapper 库,可不关心 如何使用Dapper, SqlRepoEx.Adapter.Dapper 实现了两个SqlRepoEx的功能类,DapperStatementExecutor,DapperEntityMapper,注册这两个类,然后,就实现了使用Dapper来读写数据。
string ConnectionString = "datasource=127.0.0.1;username=test;password=test;database=sqlrepotest;charset=gb2312;SslMode = none;";
var connectionProvider = new MySQLP.ConnectionStringConnectionProvider(ConnectionString);
MySqlRepoFactory.UseConnectionProvider(connectionProvider);
MySqlRepoFactory.UseStatementExecutor(new DapperStatementExecutor(connectionProvider));
MySqlRepoFactory.UseDataReaderEntityMapper(new DapperEntityMapper());
var repository11 = MySqlRepoFactory.Create<ToDo>();
var results11 = repository11.Query().Select(e => e.Id, e => e.Task, e => e.CreatedDate).Top(6);
foreach (var item in results11.Go())
{Console.WriteLine($"{item.Id}\t {item.Task}\t {item.CreatedDate}\t {item.Remark}");}
本例源码见:
https://gitee.com/azthinker/SqlRepoEx2.0Demo/tree/master/Demos/GettingStartedDapper
或
https://github.com/AzThinker/SqlRepoEx2.0Demo/tree/master/Demos/GettingStartedDapper
轻量ORM-SqlRepoEx (九)与Dapper共舞的更多相关文章
- Dapper.NET——轻量ORM
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...
- Dapper.NET—轻量ORM
Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1 一 ...
- SqlSugar轻量ORM
蓝灯软件数据股份有限公司项目,代码开源. SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法. 学习列表 0.功能更新 1.SqlSuga ...
- C# Dapper 轻量ORM调试对SQLServer
Dapper简介 Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快. 使用ORM的好处是增.删.改很快,不用自己写sql,因为这都是重复技 ...
- 轻量ORM-SqlRepoEx介绍
轻量级 ORM-SqlRepoEx 介绍 SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的 ...
- 轻量型ORM框架Dapper的使用
在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...
- CYQ.Data 轻量数据层之路 优雅V1.4 现世 附API帮助文档(九)
继上一版本V1.3版本发布到现在,时隔N天了:[V1.3版本开源见:CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源] N天的时间,根据各路网友的反映及自身的想法,继续修改优化着本框架,力 ...
- ORM系列之三:Dapper
目录 1.Dapper 简介 2.Dapper 安装 3.Dapper 使用 Dapper简介 Dapper是一个轻量级的ORM框架,短小精悍,正如其名.对于小项目,使用EF,NHibernate这样 ...
- OWIN轻量型框架介绍
OWIN轻量型框架介绍 阅读目录 引言 框架的特色 如何启动 各项功能 静态路由的3种写法 伪静态路由的支持 处理Form表单提交的文件 流式处理Post请求的数据 多种请求类型自动识别 响应处理 请 ...
随机推荐
- mac 安装mysql-python
ln -s /usr/local/mysl/bin/* /usr/bin #建立软连接 sudo pip install mysql-python #安装 python ...
- v-model的双向数据绑定(表单)
可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素 ...
- Grunt实例
module.exports = function(grunt) { // 项目配置 grunt.initConfig({ pkg: grunt.file.readJSON('package.json ...
- C# DataGridview转换为DataTable
如已绑定过数据源: DataTable dt = (dataGridView1.DataSource as DataTable) 如未绑定过数据源: public DataTable GetDgvTo ...
- Spring返回json数据
第一种形式:使用注解@ResponseBody @RequestMapping(value = "/admin/jq", method = RequestMethod.GET) @ ...
- 仿照jQuery进行一些简单的框架封装(欢迎指教~)
(function(window,undefined){ var arr = [], push = arr.push, slice = arr.slice; //首先要做的就是封装一个parseHtm ...
- 工作总结:mvc分层架构
pojo:plain ordinary java object 简单无规则java对象,我个人觉得它和其他不是一个层面上的东西,VO和PO应该都属于它 po:persistant object 持久对 ...
- asp.net ashx导出excel到前台
最近有一个项目使用以前的ashx,不能使用FileResult,只有通过response返回拼接好的字符串.但是通过查阅资料拼接的字符串总是提示文件格式不匹配,虽然能正常打开,但是体验很不好,在此总结 ...
- 全链路实践Spring Cloud 微服务架构
Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...
- hdu 6214 Smallest Minimum Cut[最大流]
hdu 6214 Smallest Minimum Cut[最大流] 题意:求最小割中最少的边数. 题解:对边权乘个比边大点的数比如300,再加1 ,最后,最大流对300取余就是边数啦.. #incl ...