欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

轻量级ORM《sqlcommon》第一个版本发布了!!!

程序员文章站 2022-04-15 15:10:01
一、sqlcommon的特色 1. 轻量级,整个包只有123kb。 2. 性能好,自测。。。 3. API和功能简单、代码简短、可维护性好基本都能看懂。这个点我认为很重要,你不用为了实现一个需求而四处查资料,这意味着这个包你可以自行维护修改(修改版只限自己使用尊重一下作者创作权)。 4. 面向ADO ......

一、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动态创建解码函数(缓存),实际上会比直接反射性能略好

轻量级ORM《sqlcommon》第一个版本发布了!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

轻量级ORM《sqlcommon》第一个版本发布了!!!

2. typemapper-类型映射

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

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

var handler = typeconvert.getserializer<student>(new custommapper(), reader);

 3. sqlmapper-sql映射

支持多结果集并行查询

轻量级ORM《sqlcommon》第一个版本发布了!!!

  多参数类型支持

轻量级ORM《sqlcommon》第一个版本发布了!!!

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

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

轻量级ORM《sqlcommon》第一个版本发布了!!!

轻量级ORM《sqlcommon》第一个版本发布了!!!

轻量级ORM《sqlcommon》第一个版本发布了!!!