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

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

640?wx_fmt=png

 

 

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

640?wx_fmt=png

2. TypeMapper-类型映射

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

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

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

 3. SqlMapper-sql映射

支持多结果集并行查询

640?wx_fmt=png

  多参数类型支持

640?wx_fmt=png

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

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

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从基于直方图的Graph-Cut到Grab-Cut

http://blog.csdn.net/zouxy09/article/details/8534954 区别&#xff1a; &#xff08;1&#xff09;Graph Cut的目标和背景的模型是灰度直方图&#xff0c;Grab Cut取代为RGB三通道的混合高斯模型GMM&#xff1b; &#xff08;2&#xff09;Graph Cut的能量最小化&#xf…

1024程序员节活动继续:购书优惠劵,折后再折,赶紧来抢啊

1024程序员节当当网计算机图书每满100减50&#xff01;满200减100&#xff01;满300-150&#xff01;机械工业出版社华章公司联合当当网特意为【DotNET技术圈】用户申请了一批可与满减叠加使用的“满200减30”的图书优惠码&#xff0c;优惠码使用后相当于&#xff1a;400减230 …

Shape Context

http://blog.csdn.net/u012507022/article/details/52437149 形状上下文特征是一种很流行的形状描述子&#xff0c;多用于目标识别&#xff0c;它采用一种基于形状轮廓的特征描述方法,其在对数极坐标系下利用直方图描述形状特征能够很好地反映轮廓上采样点的分布情况。 形状上下…

使用Magicodes.SwaggerUI快速配置SwaggerUI以及设置API分组

Magicodes.SwaggerUI快速配置和集成SwaggerUI特点通过配置文件简单配置即可完成SwaggerUI的API格式JSON生成和集成支持API分组和隐藏支持自定义页面和验证Nuget包联系我们订阅号关注“麦扣聊技术”微信订阅号可以获得最新文章、教程、文档。QQ群编程交流群<85318032>产品…

机器学习四大降维方法

http://www.36dsj.com/archives/26723 引言 机器学习领域中所谓的降维就是指采用某种映射方法&#xff0c;将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y&#xff0c;其中x是原始数据点的表达&#xff0c;目前最多使用向量表达形式。…

深入研究.NET Core的本地化机制

ASP.NET Core中提供了一些本地化服务和中间件&#xff0c;可将网站本地化为不同的语言文化。ASP.NET Core中我们可以使用Microsoft.AspNetCore.Localization库来实现本地化。在.NET Core 2.0以上版本, Microsoft.AspNetCore.Localization已经包含在了Microsoft.AspNetCore.All中…

深度学习机器选择

Description Quantity Unit Price Amount Intel Core™ i7-6700K Processor (Skyshake, 8M Cache, Socket-LGA1151, 14nm, Overlock unlock, 4Core 8Threads, TDP 95W, Gen 9LP, up to 4.20 GHz) 1 ANTEC TPC750 TruePower Classic 750W 80Plus Gold 火牛 1 …

.Net Core 3.0 IdentityServer4 快速入门02

.Net Core 3.0 IdentityServer4 快速入门—— resource owner password credentials&#xff08;密码模式&#xff09;一、前言OAuth2.0默认有四种授权模式&#xff08;GrantType&#xff09;&#xff1a;1&#xff09;授权码模式2&#xff09;简化模式3&#xff09;密码模式&a…

LMDB使用说明

http://rayz0620.github.io/2015/05/25/lmdb_in_caffe/ 官方的extract_feature.bin很好用&#xff0c;但是输出的特征是放在LMDB里的。以前嫌LMDB麻烦&#xff0c;一直都图方便直接用ImageDataLayer来读原始图像。这次绕不过去了&#xff0c;就顺便研究了一下Caffe对LMDB的使用…

.Net Core3.0 日志 logging

多年的经验&#xff0c;日志记录是软件开发的重要组成部分。没有日志记录机制的系统不是完善的系统。在开发阶段可以通过debug附件进程进行交互调试&#xff0c;可以检测到一些问题&#xff0c;但是在上线之后&#xff0c;日志的记录起到至关重要的作用。它可使我们在系统出现问…

Linux下的磁盘空间管理

df -h /文件夹名 du -sh /文件夹名 后者统计的是我们能点开到的文件占用的空间&#xff0c;前者是总空间减去剩余空间。 可能出现的情况是二者不统一&#xff0c;原因见下&#xff1a; http://wushank.blog.51cto.com/3489095/1533409 一、df和du的统计机制&#xff1a; …

在微软工作一年,我学会了什么

大家好&#xff0c;我是运营小马。正如我们所知道的那样&#xff0c;10.23日 &#xff0c;崔庆才因为写文写得很痛苦&#xff0c;将公众号转给我运营。10.24 我兴致勃勃又小心翼翼的宣布了我要运营10.25 崔庆才回来了&#xff0c;他说他有喷薄而出抑制不住的写作欲望&#xff0…

Eclipse调试方法

http://blog.jobbole.com/93421/ 一、Eclipse调试介绍 二、Eclipse中和Debug相关的视图 2.1 Debug View2.2 Variables View2.3 Breakpoints View2.4 Expressions View2.5 Display View 三、Debug 3.1 设置断点 3.2 调试程序 3.2.1 调试本地 Java 语言程序 3.3.2 远程调试 一、…

聊聊 Docker Swarm 部署 gRPC 服务的坑

gRPC 是一个高性能、开源和通用的 RPC 框架&#xff0c;面向移动和 HTTP/2 设计&#xff0c;也是目前流行的微服务架构中比较突出的跨语言 RPC 框架。一直以来&#xff0c;我们的微服务都是基于 gRPC 来开发&#xff0c;使用的语言有 .NET、JAVA、Node.js&#xff0c;整体还比较…

动手造轮子:实现一个简单的依赖注入(零)

动手造轮子&#xff1a;实现一个简单的依赖注入(零)Intro依赖注入为我们写程序带来了诸多好处&#xff0c;在微软的 .net core 出来的同时也发布了微软开发的依赖注入框架 Microsoft.Extensions.DependencyInjection&#xff0c;大改传统 asp.net 的开发模式&#xff0c;asp.ne…

Caffe Blob Dtype理解

http://blog.luoyetx.com/2015/10/reading-caffe-2/ 关于Blob: Blob 在 Caffe 中扮演了重要的角色&#xff0c;用于存储数据和网络参数&#xff0c;同时也在 CPU 和 GPU 之间做了数据同步。Blob 原本在 Caffe 中被表示为一个 4 维数组 (num x channel x height x width)&#…

【WPF on .NET Core 3.0】 Stylet演示项目 - 简易图书管理系统(2)

上一章《回忆一下我们的登录逻辑,主要有以下4点:当"用户名"或"密码"为空时, 是不允许登录的("登录"按钮处于禁用状态).用户名或密码不正确时, 显示"用户名或密码不正确"的消息框.用户名输入"waku", 并且密码输入"123&q…

MATLAB读取文件夹及其所有子文件夹内的图像

1。 指定路径下 单个文件夹data中所有图像 file_path .\data\;% 图像文件夹路径img_path_list dir(strcat(file_path,*.jpg));%获取该文件夹中所有jpg格式的图像img_num length(img_path_list);%获取图像总数量if img_num > 0 %有满足条件的图像for j 1:img_num %逐一读…

gRPC 流式调用

gRPC 使用 Protocol buffers 作为接口定义语言&#xff08;IDL&#xff09;来描述服务接口和输入输出消息的结构&#xff0c;目前支持 4 种定义服务方法类型&#xff1a;类型说明简单 RPC客户端传入一个请求对象&#xff0c;服务端返回一个结果对象客户端流式 RPC客户端传入多个…

模型压缩案例-SSDYou only look once

http://write.blog.csdn.NET/postedit 在上一篇文章中&#xff0c;介绍了以regionproposal来检测的框架&#xff0c;这一系列速度和精度不断提高&#xff0c;但是还是无法达到实时。存在的主要问题为&#xff1a;速度不够快&#xff0c;主要原因是proposal比较多&#xff0c;特…