Dapper 语法比较简单,效率也比较快,速度接近IDataReader 甚至读取数据超过了DataTable,建议在实际项目可以结合EntityFramework Core 一起使用。

一、创建MySql Table

CREATE TABLE User (
Id int(11) NOT NULL AUTO_INCREMENT,
Name varchar(255) DEFAULT NULL,
PRIMARY KEY (Id)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

二、创建Model

 public class Users
{
public int Id { get; set; }
public string Name { get; set; }
}

三、Dapper Helper

 public  class DapperContext
{
//连接字符串
const string connectionString = "Server=localhost;port=3306;Database=testDB;Uid=root;Pwd=123abc;SslMode=None;";
public static MySqlConnection Connection(){ var mysql=new MySqlConnection(connectionString);
mysql.Open();
return mysql; }
}

四、WEBAPI

 [Route("api/[controller]")]
public class UserController : Controller
{ /// <summary>
/// 获取所有用户数据
/// </summary>
[HttpGet] public List<Users> GetUsers(GetUserInput input){
//分页数据
List<Users> users = new List<Users>();
using(IDbConnection connection=DapperContext.Connection()){ users = connection.Query<Users>("select * from user limit @PageIndex,@PageSize",new {
PageIndex=input.PageIndex*input.PageSize,
PageSize=input.PageSize
}).ToList();
}
return users; } /// <summary>
/// 根据用户ID 查询
/// </summary>
[HttpGet("{id}")]
public Users Get(int id)
{
using(IDbConnection connection=DapperContext.Connection()){ return connection.Query<Users>("select * from user where id=@Id",new {@Id=id}).FirstOrDefault();
}
} /// <summary>
/// 插入数据
/// </summary>
[HttpPost]
public void Post([FromBody]Users value)
{
using(IDbConnection connection=DapperContext.Connection()){
connection.Execute("insert into user values(@Id,@Name)", new { value.Id,value.Name });
}
} /// <summary>
/// 修改数据
/// </summary>
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
using(IDbConnection connection=DapperContext.Connection()){ connection.Execute("update user set name=@Name where id=@Id", new { Id = id, Name = value });
}
} /// <summary>
/// 删除数据
/// </summary>
[HttpDelete("{id}")]
public void Delete(int id)
{
using(IDbConnection connection=DapperContext.Connection()){
connection.Execute("delete from user where id=@Id", new { Id = id });
}
}
}

只是简单的使用Dapper,如需更多了解建议查看官方文档。

.net core Dapper for MySql的更多相关文章

  1. .NET Core Dapper操作mysql数据库

    前言 现在ORM盛行,市面上已经出现了N款不同的ORM套餐了.今天,我们不谈EF,也不聊神马黑马,就说说 Dapper.如何在.NET Core中使用Dapper操作Mysql数据库呢,让我们跟随镜头 ...

  2. ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  3. .NET Core 使用Dapper 操作MySQL

    MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...

  4. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  5. .net core 2.0+superui +Dapper.SimpleCRUD+mysql+NLog

    **_ .net core 2.0+superui +Dapper.SimpleCRUD+mysql+NLog _** 前端框架 superui http://www.supermgr.cn/ 1.组 ...

  6. .NET Core开发日志——Dapper与MySQL

    Dapper作为.NET生态中广为人知的轻量级ORM类库在.NET Core里仍能被有效利用,并且其不但可以连通SQL Server数据库还提供对其它数据库,比如MySQL的支持.这里试验了一下通过D ...

  7. .net core系列之《.net core中使用MySql以及Dapper》

    当我们决定使用.Net Core开发的时候,就放弃使用SqlServer的打算吧.那应该选择哪个数据库呢?一般选择MySql的比较多. 接下来我们来演示在.Net Core中使用MySQL吧. 1.原 ...

  8. 使用Dapper操作Mysql数据库

    首先我想说明一下:相比最原始的ADO.NET,一般都认为封装过一层的ORM性能上会有损耗,但其实在使用中你会发现,当你需要把数据库对象转化为实体模型时,很多所谓的DbHelper其实封装的很低效,反而 ...

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

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

随机推荐

  1. java菜鸟之微信分享

    前言:我终于理解了什么叫做教科书:教科书就是把一些简单容易的知识写成一堆谁都看不懂的书,这,就简称“教科书” 这些天接触到微信分享以及回调的问题,因为之前没接触过,所以这次做这个分享,碰了一点点壁,特 ...

  2. Element UI 树形表格,TreeGrid或TreeTable实现

    安装less npm install less --save-devnpm install less-loader --save-dev 模板代码 <template> <div c ...

  3. centos安装ES(elasticsearch)

    1.下载(版本为elasticsearch-6.5.4): https://www.elastic.co/downloads/elasticsearch 2.上传至服务/user/local目录 3. ...

  4. 基于asp.net的excel导入导出

    新建aspx文件.代码大概如下: <!--导入Excel文件--> <table width="99%" border="0" align=& ...

  5. [PA2014]Iloczyn

    [PA2014]Iloczyn 题目大意: 询问\(n(n\le10^9)\)是否是两个斐波那契数之积. 思路: \({\rm fib}(45)<10^9,{\rm fib}(46)>10 ...

  6. Flask蓝图

    它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个 ...

  7. uestc 猛男搜索26题 by qscqesze

    https://vjudge.net/contest/202940#overview 不断更新

  8. 11-13 js操作css样式

    1.Js操作css样式 Div.style.width=”100px”.在div标签内我们添加了一个style属性,并设定了width值.这种写法会给标签带来大量的style属性,跟实际项目是不符. ...

  9. Linux之nginx反向代理+三台web+nfs共享存储实现集群配置

    作业四:nginx反向代理+三台web+nfs共享存储实现集群配置 在各个web服务器上挂载nfs [root@localhost nginx]# mount -t nfs 192.168.152.1 ...

  10. js,css文件更新之后,浏览器端还有缓存,久久不能消除

    解决方案,每次更新之后修改下配置信息 /// <summary> /// VersionInfo 版本信息 /// </summary> public static class ...