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 = 10 });
            }
            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 = 10 });
            }
            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
        }
原文地址:https://www.cnblogs.com/zhaoyihao/p/5342167.html