C# ORM学习笔记:Dapper基本用法(曹海涛)

网友投稿 921 2022-06-25


一、基础知识

1.1、Dapper简介

Dapper是.NET下的一个micro ORM,它和Entity Framework或NHibnate不同,属于轻量级并且是半自动的(实体类都要自己写)。假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ORM。

1.2、Dapper优点

1)轻量。只有一个文件(SqlMapper.cs)。

2)速度快。Dapper的速度接近于IDataReader,取列表的数据超过了DataTable。

3)支持多种数据库。包括SQLite、SqlCe、Firebird、Oracle、MySQL、PostgreSQL、SQL Server。

4)可以映射一对一、一对多、多对多等多种关系。

5)性能高。通过Emit反射IDataReader的序列队列,来快速地得到和产生对象。

1.3、Dapper安装

此处使用Dapper扩展库Dapper.SimpleCRUD,它也会默认安装Dapper(依赖项):

项目右键->管理 NuGet 程序包->Dapper.SimpleCRUD。

二、数据准备

2.1、数据表

在SQL Server中创建4个数据表,分别是:Student(学生表)、Teacher(教师表)、Course(课程表)、Record(成绩表)。

2.2、实体类

Dapper的实体映射:

1)属性不编辑,用[Editable(false)]这个特性标记,默认是true。

2)类名到表名的映射,用[Table("TableName")]特性,TableName对应物理数据表名称。

3)主键映射,如果您的实体类中有Id属性,Dapper会默认此属性为主键,否则要为作为主键的属性添加[Key]特性。

由上可知,如Student表,其实体类应该生成下面这个样子:

2.3、使用T4模板生成实体类

2.3.1、T4Code文件夹的文本模板


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:System.Timers.Timer(System.Timers.Timer会阻塞ma)
下一篇:关于.NetCore与.Netframework 对于DataSet的序列化与反序列化问题的探讨.(什么是.netcore)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~