.net core 3.1 加入ORM框架(Dapper)

对比了几个主流的ORM框架如SqlSuger Dapper SmartSql , 选择Dapper 主要是个人习惯,平时写sql比较多,感觉Dapper比较符合自己风格

首先安装 Dapper

平时使用Mysql比较多,但是为了后续兼容SqlServer等其他数据库,先建一个DbFactory,用来管理数据库连接

当然,因为DbFactory命名规则不一致,要手动注入

在Startup.cs 文件的ConfigureContainer 方法中加入一行代码:

builder.RegisterType<DbFactory>().As<IDbFactory>();

DbOption 类定义连接数据库参数

 

在Startup.cs文件的ConfigureServices方法中注入:
services.Configure<DbOption>(Configuration.GetSection("DbOption"));

实际数据库相关参数记录在appsetting.json文件中

"DbOption": {
"ConnectionString": "server=127.0.0.1;database=leon;user=root;pwd=root;SslMode=none;",
"DbModel": "MySQL"
}

数据库及相关表自行创建

配置好基本工作,接下来就是调用方法(BaseService可以先忽略,下面会讲到)

在构造函数中注入DbFactory,就可以调用了,Dapper的语法不了解的自行百度了

至此,Dapper的配置调用已经完成了。

考虑到每个对象会有很多相同的操作,例如获取列表,根据主键或许信息等,如果每次都手写太麻烦,因此考虑引入Dapper 扩展

安装 Dapper.SimpleCRUD

新建公共类BaseService(接口就不展示了)

注入DbFactory,声明DbConnection

在UserService 中继承BaseService,则可以继承BaseService中所有通用方法

Dapper定义实体类要注意,假设主键不是Id,应加入[Key]关键字

控制器中就可以直接调用继承baseService的方法

以上就是Dapper 的使用介绍,Dapper还有其他的扩展,有兴趣可以继续研究一下。

原文地址:https://www.cnblogs.com/redo/p/12524344.html

时间: 2024-10-19 07:52:21

.net core 3.1 加入ORM框架(Dapper)的相关文章

.NET轻量级ORM框架Dapper入门精通

一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架Dapper的魅力. 本次分享课程适合人群范围: 一.<.NET轻量级ORM框架Dapper修炼手册>适合人群如下: 1.我是一个新手,主要工作面向的是MS SQL Server数据库,那么选择修炼手册一定没错. 2.对Dapper从没有过了解或者了解不全面的同学,想通过学习进一步提升对Dappe

轻量型ORM框架Dapper的使用

在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我个人的见解,EF是相对来说比较重的ORM框架,它是讲究通用性的框架,而非单纯的实现某种需求的框架,不得不否认的说,EF的开发效率要比用单纯的ADO.NET写sql语句的效率高的不是一点半点,可能很多人会说EF的性能低等等,针对这种问题有时候是需要折中的来讲,从另一个方面来讲,你用了ADO.NET写s

.NET轻量级ORM框架Dapper修炼手册

一.摘要 1.1.为什么叫本次的分享课叫<修炼手册>? 阿笨希望本次的分享课中涉及覆盖的一些小技巧.小技能给您带来一些帮助.希望您在日后工作中把它作为一本实际技能手册进行储备,以备不时之需,一旦当手头遇到与Dapper修炼手册中相似用法的地方和场景,可以直接拿来进行翻阅并灵活的运用到项目中.最后阿笨建议您可以根据自己在工作中碰到的不同的使用场景,不断的完善此本修炼手册. 废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工. 四.涉及覆盖的知识点 1.C# Linq To Xml技术.

基于轻量级ORM框架Dapper的扩展说明

这里简单的介绍一下本人基于Dapper作的一些简单的扩展,供大家参考. 为何要使用这款框架,相信大家看到下面排名就清楚了 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco serialization的过程中所表现的性能,我们发现dapper是第二名, 当然第一名谁也无法超越,越底层的当然久越快,同时也就越麻烦. 至于如何使用进行基本的数据操作,我这里就不再阐述,http://www.cnblogs.com/Sinte-Beuve/p/4231053.html这里介绍

Asp.net Core 系列之--2.ORM初探:Dapper实现MySql数据库各类操作

ChuanGoing 2019-09-10 距离上一篇近一个月时间,断断续续才把本篇码完,后面将加快进度,争取年度内把本系列基本介绍完成,同时督促本人持续学习. 本篇学习曲线: 1.初识Dapper 2.DbConnection 3.CommandBuilder实现单表操作(略) 4.演示 初识Dapper Dapper是一个轻量级/高性能的ORM,核心功能是利用Emit反射获取IDataReader中的数据.我们可以利用它的对象关系映射实现简单CURD操作,或者直接用SQL语句实现复杂场景的C

微型orm框架--dapper的简单使用

1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for class -- ---------------------------- DROP TABLE IF EXISTS `class`; CREATE TABLE `class` ( `id` int(

轻量级ORM框架 Dapper快速学习

好在有师兄师姐一起带着做,所以开始没那么困难,但是由于大学涉猎范围有限,往往有很尴尬的时候,不懂构造方法重载,去“请教”,本来以为师兄会帮忙写好,结果“我念,你来写”,被深深的激励了一把,后来就早出晚归补习练习,java有所成长.实验室的项目是以Elipse插件形式给某研究所做一个工具,所以当时对Eclipse的了解很是深入,用到GEF图形编辑框架,SWT来做界面.自己用XML做存储来实现复制粘贴,还第一次用到了设计模式,visitor.实验室的节奏一直是“时间紧,任务重,成败在此一举”的节奏,

.net ORM框架(Dapper简单应用)

1.引入 Dapper.dll类库 2.创建书籍模型book using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Book { public int ID { get; set; } public string Name { get; set; } public string Txt { ge

PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有轻量级的Dapper.PetaPoco等 假如你喜欢原生的Sql语句.又喜欢ORM的简单.又追求高性能,那么轻量级的ORM框架是你的不二选择. 说到轻量级ORM框架Dapper的名气比较大(因为出自名门?),但我却选择使用PetaPoco,因为: 提供了更易用的API Dapper仅提供了一系列Qu