Dapper基本增删改查
说明:
1、在using语句块中不用dbConnection.Open(),因为Execute方法中会Open,并且在执行完成会Close。
2、在Ado.Net中要手动Open,在Using语句块中使用时,可以不用手动Close。
public ActionResult Select()
{
string sql = @"select * from Info";
List<Info> list = null;
using (IDbConnection dbConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
{
list = dbConnection.Query<Info>(sql, CommandType.StoredProcedure).ToList();
SqlMapper.GridReader gridReader = dbConnection.QueryMultiple(sql);
gridReader.Read();
} return Content("");
} public ActionResult Update()
{
string sql = @"update info set Name=@Name where Age=@Age";
using (IDbConnection dbConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
{
dbConnection.Execute(sql, new Info() { Name = "s张", Age = });
}
return Content("");
} public ActionResult Delete()
{
string sql = @"delete from info where Age=@Age";
using (IDbConnection dbConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
{
dbConnection.Execute(sql, new Info() { Age = });
}
return Content("OK");
} public ActionResult Insert()
{
string sql = "insert Userinfo values('zhao2323',23,'上海')";
string str = "";
IDbConnection dbConnection = null;
using (dbConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
{
str += "<br />Execute之前" + dbConnection.State;
dbConnection.Execute(sql);
str += "<br />Execute之后" + dbConnection.State;
}
str += "<br />using之后" + dbConnection.State;
return Content("OK" + str);
//执行结果:
// Execute之前Closed
//Execute之后Closed
//using之后Closed
} public ActionResult AdoNet()
{
string sql = "insert into UserInfo values('zhao',23,'上海')";
string str = "";
SqlConnection connection = null;
using (connection = new SqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
{
using (SqlCommand command = new SqlCommand(sql, connection))
{
connection.Open();
command.ExecuteNonQuery();
str += "<br />ExecuteNonQuery之后:" + connection.State;
}
str += "<br />using Command之后:" + connection.State;
}
str += "<br />using Connection之后:" + connection.State;
return Content("Ok" + str);
//执行结果
// ExecuteNonQuery之后:Open
//using Command之后:Open
//using Connection之后:Closed
}
Dapper基本增删改查的更多相关文章
- 使用轻量级ORM Dapper进行增删改查
项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司 ...
- Dapper.Contrib——更加优雅地使用Dapper进行增删改查
简介 Dapper是介于Entity framework与ADO的折中选择.既满足手写查询的高性能需求,又简化了数据库对象映射为内存对象的繁杂工作.Dapper.Contrib是对Dapper的进一步 ...
- Dapper进行增删改查 z
http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...
- .net Core+Dapper MySQL增删改查
新建一个用户表,以该有为例 1.Model层 public class TuiUsers { public int id { get; set; } public string userName { ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查
上一篇文章(https://www.cnblogs.com/meowv/p/12913676.html)我们用Code-First的方式创建了博客所需的实体类,生成了数据库表,完成了对EF Core的 ...
- “造轮运动”之 ORM框架系列(一)~谈谈我在实际业务中的增删改查
想想毕业已经快一年了,也就是大约两年以前,怀着满腔的热血正式跨入程序员的世界,那时候的自己想象着所热爱的技术生涯会是多么的丰富多彩,每天可以与大佬们坐在一起讨论解决各种牛逼的技术问题,喝着咖啡,翘着二 ...
- ORM增删改查并发性能测试
这两天在对一些ORM进行性能测试(涉及SqlSugar.FreeSql.Fast.Framework.Dapper.LiteSql),测试用的是Winform程序,别人第一眼看到我的程序,说,你这测试 ...
随机推荐
- centos7 jsoup java.net.UnknownHostException
[root@localhost ~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.loc ...
- KEIL C51 中嵌入汇编以及C51与A51间的相互调用
如何在 KEIL C51(v6.21) 中调用汇编函数的一个示例 有关c51调用汇编的方法已经有很多帖子讲到,但是一般只讲要点,很少有对整个过程作详细描述,对于初学者是不够的,这里笔者通过一个简单例子 ...
- nterrupt 和 using 在C51中断中的使用
8051系列MCU的基本结构包括:32个I/O口(4 组8bit 端口):两个16位定时计数器:全双工串行通信:6个中断源(2个外部中断.2个定时/计数器中断.1个串口输入/输出中断),两级中断优先级 ...
- 【HDOJ】5131 Song Jiang's rank list
STL的使用. /* 5131 */ #include <iostream> #include <map> #include <cstdio> #include & ...
- 【HDOJ】3500 Fling
题意巨难懂.简言之,就是球互相碰撞时,主动碰撞的球将会停止,另一个球将沿着碰撞方向继续移动,不断碰撞.但是无法弹射紧挨着的球,但是若a弹射b,bc相邻,这种情况b可以弹射c. #include < ...
- 【2】JAVA---地址App小软件(ListPanel.class)(表现层)
这个是表现层的主界面. /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; import java ...
- 酷派D530刷机指引之民间ROM
为什么要刷民间ROM? 下图左边是官方ROM,右边是民间ROM,单单看"程序内存"这一项,这个问题的答案应该无需多言: 选择民间ROM就跟找对象一样,没有最好的,只有最适合自己的, ...
- Java IO - BufferedReader & BufferedWriter
java.io 包提供丰富的 IO 读写功能,封装在不同的类里面.其中,使用 BufferedReader 和 BufferedWriter 可以方便地进行读.写文件的操作. 使用例子如下: impo ...
- B - Dining - poj 3281(最大流)
题目大意:有一群牛,还有一些牛喜欢的食物和喜欢的饮料,不过这些牛都很特别,他们不会与别的牛吃同一种食物或者饮料,现在约翰拿了一些食物和饮料,同时他也知道这些牛喜欢的食物和饮料的种类,求出来最多能让多少 ...
- 夏普比率(Sharpe Ratio)
投资中有一个常规的特点,即投资标的的预期报酬越高,投资人所能忍受的波动风险越高:反之,预期报酬越低,波动风险也越低.所以理性的投资人选择投资标的与投资组合的主要目的为:在固定所能承受的风险下,追求最大 ...