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. Eclipse纯净版安装web插件

    打开 Help -> Install New Software. 在Install界面板中,点击Add按钮输入:然后在输入http://download.eclipse.org/releases ...

  2. IDEA安装使用Lombok插件

    项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然IDEA开发环境下都有自动生成的快捷方式,但自动生成这些代码 ...

  3. scrapy中间件

    一.下载中间件 from scrapy import signals from scrapy.http import Response from scrapy.exceptions import Ig ...

  4. npm install报错Unhandled rejection RangeError: Maximum call stack size exceededill install

    故障 在使用npm install下载依赖的时候报错Unhandled rejection RangeError: Maximum call stack size exceededill instal ...

  5. python 有参装饰器与迭代器

    1.有参装饰器 模板: def auth(x): def deco(func): def timmer(*args,**kwargs ): res = func(*args,**kwargs ) re ...

  6. input输入框只能输入数字和 小数点后两位

    //input输入框只能输入数字和 小数点后两位 function num(obj,val){ obj.value = obj.value.replace(/[^\d.]/g,"" ...

  7. BZOJ1758[Wc2010]重建计划——分数规划+长链剖分+线段树+二分答案+树形DP

    题目描述 输入 第一行包含一个正整数N,表示X国的城市个数. 第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限 接下来的N-1行描述重建小组的原有方案,每行三个正整数Ai, ...

  8. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第4章编程练习1

    #include <iostream>//#include <string>using namespace std;struct stu{ char fname[10];//这 ...

  9. px与rem的换算

    在线转化工具: http://www.ofmonkey.com/front/rem rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值,这个参考值设置为多少, ...

  10. Django中提供的6种缓存方式

    由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用: 缓存,缓存将一个某个views的返回值保存至内存或者memcache中, ...