说明:

  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基本增删改查的更多相关文章

  1. 使用轻量级ORM Dapper进行增删改查

      项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司 ...

  2. Dapper.Contrib——更加优雅地使用Dapper进行增删改查

    简介 Dapper是介于Entity framework与ADO的折中选择.既满足手写查询的高性能需求,又简化了数据库对象映射为内存对象的繁杂工作.Dapper.Contrib是对Dapper的进一步 ...

  3. Dapper进行增删改查 z

    http://www.cnblogs.com/huangkaiyan10/p/4640548.html 项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET ...

  4. .net Core+Dapper MySQL增删改查

    新建一个用户表,以该有为例 1.Model层 public class TuiUsers { public int id { get; set; } public string userName { ...

  5. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  6. 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查

    一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...

  7. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查

    上一篇文章(https://www.cnblogs.com/meowv/p/12913676.html)我们用Code-First的方式创建了博客所需的实体类,生成了数据库表,完成了对EF Core的 ...

  8. “造轮运动”之 ORM框架系列(一)~谈谈我在实际业务中的增删改查

    想想毕业已经快一年了,也就是大约两年以前,怀着满腔的热血正式跨入程序员的世界,那时候的自己想象着所热爱的技术生涯会是多么的丰富多彩,每天可以与大佬们坐在一起讨论解决各种牛逼的技术问题,喝着咖啡,翘着二 ...

  9. ORM增删改查并发性能测试

    这两天在对一些ORM进行性能测试(涉及SqlSugar.FreeSql.Fast.Framework.Dapper.LiteSql),测试用的是Winform程序,别人第一眼看到我的程序,说,你这测试 ...

随机推荐

  1. 常用排序算法之——快速排序(C语言+VC6.0平台)

    经典排序算法中快速排序具有较好的效率,但其实现思路相对较难理解. #include<stdio.h> int partition(int num[],int low,int high) / ...

  2. 禁用ios7 手势滑动返回功能

    禁用ios7 手势滑动返回功能 版权声明:本文为博主原创文章,未经博主允许不得转载. 在有的时候,我们不需要手势返回功能,那么可以在页面中添加以下代码: - (void)viewDidAppear:( ...

  3. MFC一个令人纠心的错误

    IDE生成的代码,运行几次之后开始出现以下这个错误 Error: must call SetScrollSizes() or SetScaleToFitSize() before painting s ...

  4. 改进了UI的界面

    小峤提醒我,千万要记住, 调用JS之前,一定要先加载哟~~~ <!--[if lt IE 9]> <script src="/static/js/jquery1.11.1. ...

  5. 【转】Could not write file XXX\.classpath解决

    原文网址:http://www.sjsjw.com/kf_other/article/323_11877_12218.asp 环境 MyEclipse 8.6 + Windows 7 Ultimate ...

  6. HDOJ(HDU) 1708 Fibonacci String

    Problem Description After little Jim learned Fibonacci Number in the class , he was very interest in ...

  7. Spreadsheet Calculator 电子表格计算器 (Uva 215)

    原题:https://uva.onlinejudge.org/external/2/215.pdf 有一个M x N的表格,每个单元格是个数字或者表达式.表达式由单元格编号和+ - 号组成 输出单元格 ...

  8. ubunt 基于deb 配置本地apt 源 分成仅本机使用,局域网使用2种

    dpkg-scanpackages /software /dev/null | gzip>/software/Packages.gz

  9. Android Studio中解决Gradle DSL method not found: &#39;android()&#39;

    近期导入as的项目出了这种问题 这个问题困扰了我非常长时间,好吧,搜了半天全都是runProguard的.最后在stackoverflow上搜到解决的方法了: http://stackoverflow ...

  10. 使用Httpwatch分析响应时间--转

    时间片段名称 意思 Blocked (阻塞)灰色 阻塞的时间主要包括,预处理时间,(如缓存查找)和网络排队等待的时间,导致阻塞最主要的原因是下载页面中的图片 DNS Lookup(域名解释)紫色 域名 ...