前言
近几天借助C#对SQLite的学习,算是对数据库刚入门吧,三天前写了一篇C#利用System.Data.SQLite实现对SQLite的操作,其中方法是基于System.Data.SQLite.dll的程序包,后来在youtube和infoworld上看到利用Dapper程序包对数据库操作更简单、快捷,在其基础之上自己又增加了一些用法,以下是参考视频和文档:
参考视频:https://www.youtube.com/watch?v=ayp3tHEkRc0
参考文档:https://www.infoworld.com/article/3025784/application-development/how-to-work-with-dapper-in-c.html
ORM介绍
介绍Dapper之前不得不提及ORM,ORM是什么呢?
从字面理解,O是Object,对象;R是Relation,关系;M是Mapping,映射。所以,用一句话概括就是:ORM是一种对象关系映射的技术。
我们平时所使用的大多数编程模型都是面向对象编程,就是把我们研究的问题抽象出来分解成一个个对象,对象有属性,方法等等,我们操作的是对象。
而我们平时所使用的数据库是关系型数据库,他是从集合论等数学知识发展过来的,他讲究集合,映射,六大范式等等,跟我们的面向对象思想的封装继承多态不同,这两者之间有着根本性的差异。
所以我们就存在一个问题,怎么去调和二者,如果能有一种技术把对象与数据库对应起来,我们编程就会方便许多。于是,ORM应运而生,他就是为了解决对象与数据库之间的差异所产生的一门技术,用他可以把对象与数据库建立一种映射,对于业务层的程序员,他不用管数据库的结构,他只需要专注于他的业务逻辑去操作对象。至于对象怎么去变成元组进入数据库,以及怎么从数据库取数据变成对象,那是ORM自动解决的。
所以,ORM为对象关系映射器,它直接将数据库映射到C#对象。
有很多ORM框架可用,Dapper是其中之一,被称为ORM之王。
Dapper介绍与安装
功能:
1、速度快,性能好;
2、更少的代码行
3、对象映射
4、静态对象绑定
5、动态对象绑定
6、易于处理Sql语句
7、易于处理存储过程
8、直接操作IDBConnection类,该类直接向数据库提供平滑性和运行查询,而不是像在EF和ADO.NET中那样使用各种对象传递数据。
9、多个查询支持
10、支持存储过程
11、批量处理数据插入
12、允许基于多个输入获取多个数据
安装:
鼠标右击项目下面的引用选项,进入NuGet,输入Dapper安装。
如果环境是在.NET4.5环境下进行的编译,最新版的Dapper可能与之不兼容,会出现以下报错:
你可以安装一个低版本的Dapper来规避此问题,我采用的是1.40.0版本的Dapper,亲测可用。
一、创建与数据库表对应的实体类
此前的文章忘记介绍此步骤,特意补充。
利用SQLite的可视化工具