记得笔者进入公司的时候接触的第一个ORM框架是Entity Framework。为了Entity Framework也看了不些的英文资料(不是笔者装B哦)。正式使用三个月后。笔者对他有一个全面性的认识。我只能说他真的很强大,也很方便。可是我并不是很喜欢他。要问为什么的话,笔者只能说喜欢就是喜欢。不喜欢就是不喜欢。不需要过多的理由。笔者就是这样子的一个人。但是笔者不会忽略他的强大的一面。微软的目标还是老样子——开发简单化。只是在Entity Framework的数据迁移上面笔者不是很喜欢。至少在笔者团队开发过程常常会出现因版本不对导至数据丢失。不管如何笔者对Entity Framework的使用也至少有一年的时间。由于项目以领域驱动(DDD)为核心思想。所以在设计的时候,会用到一些笔者觉得还不错的思想。比如工作单元(Unit Of Work模式)。Entity Framework在早期的时候是不开源码。笔者以前是从事JAVA开发的。这对笔者来讲心态上有一点不能接受(当然这也是笔者个人心态)。终于Entity Framework6开源码了。如果有兴趣的朋友可以下载下来看看(源码地址:https://github.com/aspnet/EntityFramework6)。
第二年时候笔者接触了第二个ORM框架是LinqToDB。笔者不是想强调LinqToDB有多么好。笔者只是觉得他是一个相当不错的开源ORM框架。功能不比EF差,用法上很接近的EF,却比EF来得轻量,而且又多出了自己的特色。所以如果你用EF用得有一点烦了或是觉得EF有一点笨重。想去看看有没有别的ORM框架。不烦试试LinqToDB。
开发环境
对于LinqToDB的dll包在NuGet上可以下载到。只要输入“linq2db”即可。同时也可以在Github上面下载(https://github.com/linq2db/linq2db)。最好选择跟笔者一样子的版本,比较稳定。如下
软件开发工具:Visual Studio 2013
LinqToDB版本:linq2db-Release.1.0.7.4
数据库:SQL Server 2008R
LinqToDB介绍
LinqToDB做为一个轻量级的ORM框架。当然可以让开发人员用面向对象的思想来操作数据库。而且他基于是Linq上面进行开发的。所以一般的Linq操作他也是支持的。同时作者又扩展对应的DML和DDL。比如增加 Insert, Delete, Update, CreateTable, DropTable等方法。相对于EF来讲,LinqToDB显得还是很弱小,没有那么强大。LinqToDB可以说只是把Linq动作变成对应的SQL语句。然后在进行操作数据库。这显然更加接近原生态的做法。也是笔者为什么喜欢的点之一。那么LinqToDB到底能支持多少种数据库。作者在Github上也做也明确指出来。如下。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式