一、sqlcommon的特色

1. 轻量级,整个包只有123kb。

2. 性能好,自测。。。

3. API和功能简单、代码简短、可维护性好基本都能看懂。这个点我认为很重要,你不用为了实现一个需求而四处查资料,这意味着这个包你可以自行维护修改(修改版只限自己使用尊重一下作者创作权)。

4. 面向ADO.NET标准接口实现强大的兼容,不依赖具体数据库驱动程序。支持netframwork4.5及以上,和所有兼容standard2.0的.net框架

5. 组件独立,sqlcommon的几大核心组件,都是可以独立起来使用的,比如你不会写IL你就可以利用我写的继续扩展查询API

6. github:https://github.com/1448376744/SqlCommon

7. nuget:https://www.nuget.org/packages/SqlCommon

二、sqlcommon的极大核心组件

  sqlcommon分为common和expression两个文件夹。common文件夹中包含一个轻量级的orm功能类似《dapper》980行代码。expression文件夹中包含linq语法糖,用于自动生成sql。

1.TypeConvert-类型转换器

这个API是用来解序列的,底层采用IL动态创建解码函数(缓存),实际上会比直接反射性能略好

这个API是用于序列化对象将DataReader与实体类型进行动态绑定,底层采用IL实现

2. TypeMapper-类型映射

这个API定义了绑定实体类型中的每个属性的规则,在TypeMapper中有定义,你可以通过实现ITypeMapper接口,来编写自己的TyperMapper,

来定制化属性映射规则,属性名和字段名映射规则。具体可以参照我的源代码

var handler = TypeConvert.GetSerializer<Student>(new CustomMapper(), reader);

3. SqlMapper-sql映射

支持多结果集并行查询

多参数类型支持

三、linq语法糖,更多用列请查看github

如果喜欢我的这个linq但是不想使用我的sqlmapper的,可以用你喜欢的ORM实现一下IDbContext接口,然后吧SqQuery扩展到你的数据库上下文对象上。具体可以参考我的From实现

轻量级ORM《sqlcommon》第一个版本发布了!!!的更多相关文章

  1. CDNDrive 第一个版本发布 & 布客新知第二次备份完成

    CDNDrive 第一个版本发布,新适配五个图床 https://github.com/apachecn/CDNDrive 另外,布客新知第二次备份完成 TutorialsPoint:http://i ...

  2. 微型 ORM 的第一篇 DapperLambda发布

    引言:因为接触过多个ORM,但使用的时候都遇到了各自的一些不够理想的地方,从最早开始开始公司自己分装的,到后面用EF,以及Dapper和DapperExtensions  到现在用的FluentDat ...

  3. 轻量级ORM框架——第一篇:Dapper快速学习

    我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...

  4. 轻量级Java持久化框架,Hibernate完美助手,Minidao 1.6.2版本发布

    Minidao 1.6.2 版本发布,轻量级Java持久化框架(Hibernate完美助手) Minidao产生初衷? 采用Hibernate的J2EE项目都有一个痛病,针对复杂业务SQL,hiber ...

  5. CINATRA发布第一个版本

    cinatra是什么? cinatra是C++开源社区–purecpp发起的一个开源项目,现在正式发布第一个版本cinatra0.9.0,cinatra是一个现代C++写的web framework, ...

  6. 连表查询都用Left Join吧 以Windows服务方式运行.NET Core程序 HTTP和HTTPS的区别 ASP.NET SignalR介绍 asp.net—WebApi跨域 asp.net—自定义轻量级ORM C#之23中设计模式

    连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在 ...

  7. 轻量级ORM框架 QX_Frame.Bantina(二、框架使用方式介绍)

    轻量级ORM框架QX_Frame.Bantina系列讲解(开源) 一.框架简介 http://www.cnblogs.com/qixiaoyizhan/p/7417467.html 二.框架使用方式介 ...

  8. 轻量级ORM工具Simple.Data

    今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具. 现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软 ...

  9. 轻量级ORM框架Dapper应用一:Dapper安装

    一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...

随机推荐

  1. mysql udf提权实战测试

    根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者 ...

  2. 201871010105-曹玉中《面向对象程序设计(java)》第十周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  3. 代码审计-md5()函数

    <?php error_reporting(0); $flag = 'flag{test}'; if (isset($_GET['username']) and isset($_GET['pas ...

  4. nginx 常见的问题

    1.server匹配优先级 nginx 读取文件名是按照文件排序优先读取的顺序    对与一样的server 优先使用先读取到的 2.location匹配优先级 =    进行普通字符精确匹配,也就是 ...

  5. opencv旋转图像,90度标准旋转

    摘自opencv 源代码 void rotate(InputArray _src, OutputArray _dst, int rotateMode) { CV_Assert(_src.dims() ...

  6. linux下安装编译为安装的php扩展

    1.进入php源码包中,找到需要安装的扩展模块目录.cd /root/php-5.6.26/ext/mbstring 2.在扩展模块目录,运行phpize程序,(作用是检测 php 的内核版本,并为扩 ...

  7. 查看tensorflow是否为MKL版本命令

    python -c "import tensorflow; print(tensorflow.pywrap_tensorflow.IsMklEnabled())" source a ...

  8. Apex API 请求

    Salesforce与网络服务的通信 在Salesforce中可以利用Apex类与远程站点的网络服务进行通信.当远程网络服务支持REST方法时,开发者可以利用Apex代码进行数据的操作. 设置远程站点 ...

  9. DNS用的是TCP协议还是UDP协议

    DNS占用53号端口,同时使用TCP和UDP协议.那么DNS在什么情况下使用这两种协议? DNS在区域传输的时候使用TCP协议,其他时候使用UDP协议. DNS区域传输的时候使用TCP协议: 1.辅域 ...

  10. [LeetCode] 545. Boundary of Binary Tree 二叉树的边界

    Given a binary tree, return the values of its boundary in anti-clockwise direction starting from roo ...