轻量级ORM框架Dapper应用二:使用Dapper实现CURD操作
在上一篇文章中,讲解了如何安装Dapper,这篇文章中将会讲解如何使用Dapper使用CURD操作。
例子中使用到的实体类定义如下:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace DapperApplicationDemo.Model 8 { 9 public class User 10 { 11 public int UserId { get; set; } 12 13 public string UserName { get; set; } 14 15 public string Email { get; set; } 16 17 public string Address { get; set; } 18 } 19 }
注意:在使用下面的方法之前要首先引入Dapper的命名空间:Using Dapper;
一、插入数据
1、使用匿名类插入数据
IDbConnection connection = new SqlConnection(conn); var result = connection.Execute( "Insert into Users values (@UserName, @Email, @Address)", new { UserName = "Tom", Email = "747954712@qq.com", Address = "北京" });
查询数据库:
2、使用实体类插入数据
string sqlCommandText = "insert into Users(UserName,Email,Address) Values (@UserName,@Email,@Address)"; using (IDbConnection connection = new SqlConnection(conn)) {User user = new User(){UserName = "tim",Email = "78415155@qq.com",Address = "北京"};int result = connection.Execute(sqlCommandText,user);if (result > 0){Console.WriteLine("插入成功!");}else{Console.WriteLine("插入失败!");} }
查询数据库:
3、InsertBulk操作
既然是Bulk操作,那肯定就是批量插入了,我们要做的就是将上面使用到的“匿名对象”变成“匿名对象集合”就可以了,代码如下:
using (IDbConnection connection = new SqlConnection(conn)) {var userList = Enumerable.Range(1012, 100000).Select(i => new User(){Email = i + "qq.com",Address = "北京",UserName = "CK" + i,});var result = connection.Execute("insert into Users values(@UserName,@Email,@Address)", userList); }
查询数据库:
二、查询数据
using (IDbConnection connection = new SqlConnection(conn)) {// 查询var query = connection.Query<User>("SELECT * FROM Users");query.AsList().ForEach(p => {Console.WriteLine("Id:"+p.UserId+" UserName:"+p.UserName+" Email:"+p.Email+" Address:"+p.Address);}); }
程序运行结果:
三、更新数据
1、使用匿名类更新
using (IDbConnection connection = new SqlConnection(conn)) {var result = connection.Execute("update Users set UserName='Tim',Address='上海' where UserId=@UserId", new { UserId = 2 }); }
查询数据库:
2、使用实体类更新
using (IDbConnection connection = new SqlConnection(conn)) {User user = new User();user.UserName = "张无忌";user.UserId = 1;var result = connection.Execute("update Users set UserName=@UserName where UserId=@UserId", user); }
查询数据库:
3、使用键值对更新
using (IDbConnection connection = new SqlConnection(conn)) {List<KeyValuePair<string, object>> keys = new List<KeyValuePair<string, object>>();keys.Add(new KeyValuePair<string, object>("@UserName", "风清扬"));keys.Add(new KeyValuePair<string, object>("@UserId", 2));var result = connection.Execute("update Users set UserName=@UserName where UserId=@UserId", keys); }
查询数据库:
四、删除数据
1、使用匿名类删除数据
using (IDbConnection connection = new SqlConnection(conn)) {var result = connection.Execute("delete from Users where UserId=@UserId", new { UserId = 3 }); }
2、使用实体类删除数据
using (IDbConnection connection = new SqlConnection(conn)) {User user = new User();user.UserId = 4;var result = connection.Execute("delete from Users where UserId=@UserId", user); }
示例程序代码下载地址:https://pan.baidu.com/s/1nvaJ8LV
轻量级ORM框架Dapper应用二:使用Dapper实现CURD操作相关推荐
- c# 轻量级ORM框架 实现(一)
c# 轻量级ORM框架 实现(一) 2018年09月04日 14:11:02 IT哈 阅读数:1245 发布一个自己写的一个轻量级ORM框架,本框架设计期初基于三层架构.所以从命名上来看,了解三层的朋 ...
- .NET轻量级ORM框架Dapper入门精通
一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...
- 重磅开源:基于.NET 6.0 自研轻量级ORM框架
Fast Framework 项目:https://gitee.com/China-Mr-zhong/Fast.Framework 一.前言 1.为了实现快速开发,省去编写大量Sql时间,更好的面向对 ...
- 轻量级ORM框架 【Dapper】 的使用
ORM是什么? 从字面理解,O是Object,对象:R是Relation,关系:M是Mapping,映射.所以,用一句话概括就是:ORM是一种对象关系映射的技术. Dapper 是.NET下的一种OR ...
- bltoolkit mysql_.NET 轻量级 ORM 框架 - Dapper 介绍
转自:https://blog.csdn.net/hanjun0612/article/details/52170204 Dapper简单介绍: Dapper is a single file you ...
- 轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了. 一:t ...
- dapperpoco mysql_Dapper一个和petapoco差不多的轻量级ORM框架
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...
- 轻量级ORM框架 Bankinate
[前言] 前面讲过ORM的前世今生,对ORM框架不了解的朋友可以参考博文:https://www.cnblogs.com/7tiny/p/9551754.html 今天,我们主要通过设计一款轻量级的O ...
- Python轻量级ORM框架——peewee
这里写目录标题 Python中常用的ORM框架 peewee使用经验 从数据库中导出模型 查询 统计类查询 优化子查询 参考文章 Python中常用的ORM框架 SQLALchemy:重量级框架,适合 ...
最新文章
- css 选择器 伪元素_CSS伪元素-解释选择器之前和之后
- 实现Windows Phone、Android和iOS平台的统一硬件访问
- Cloud Foundry技术资料汇总
- mysql join大小表顺讯_MySQL优化器join顺序
- 佳明245接收微信消息
- boost::geometry::index::detail::union_content用法的测试程序
- 逻辑回归算法_算法逻辑回归
- html显示mysql图片路径_MySQL MySQL 直接存储图片并在 html 页面中展示,点击下载 _好机友...
- Bootstrap HTML 编码规范之布尔型属性
- request.setAttribute()与request.getAttribute()取值问题
- Flash 应用:大智慧flash版本
- 《OpenDRIVE1.6规格文档》1
- WebStorm的下载与安装
- EasyCVR使用大华SDK接入时录像显示失败是什么原因?该如何解决?
- ikbc pocker键盘 快捷键说明
- 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价
- 常用的Java Web框架简介
- 微信小程序开发之——mpvue开发小程序
- 如何构建用户评分体系
- 清华EMBA课程系列思考之七 -- 财务会计控制