.NET Core 使用Dapper 操作MySQL

MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html

.NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使用Dapper。

目前官方没有出.NET Core MySQL  驱动,但是已经有第三方进行改动封装出.NET Core MySQL Connector 预览版。

Dapper 也已经出了 .NET Core 预览版。

Dapper dot net 是一个轻量型的ORM,但是性能很强大。

有了.NET Core MySQL Connector  我们可以直接使用ADO.NET 操作数据库。

目前EF Core 暂时不支持MySQL, 本篇主要讲解使用Dapper 操作 MySQL。

第三方 MySQL Connector: https://github.com/SapientGuardian/mysql-connector-net-netstandard

Dapper: https://github.com/StackExchange/dapper-dot-net

新建项目

新建一个.NET Core控制台应用程序 NETCoreMySQL

添加引用

使用 NuGet 控制台添加

Install-Package SapientGuardian.MySql.Data -Pre

Install-Package Dapper -Pre

MySQL 增删查改

在MySQL里面新建一个测试库 及表

测试所用脚本:

CREATE DATABASE `test` 

CREATE TABLE `user` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `UserName` varchar(255) DEFAULT NULL,
  `Url` varchar(255) DEFAULT NULL,
  `Age` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;

新建一个User 类

    public class User
    {
        public int Id { get; set; }
        public string UserName { get; set; }
        public string Url { get; set; }
        public int Age { get; set; }
    }

下面来操作MySQL 增删改查

        public static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=test;uid=root;pwd=;charset=‘gbk‘");
            //新增数据
            con.Execute("insert into user values(null, ‘测试‘, ‘http://www.cnblogs.com/linezero/‘, 18)");
            //新增数据返回自增id
            var id=con.QueryFirst<int>("insert into user values(null, ‘linezero‘, ‘http://www.cnblogs.com/linezero/‘, 18);select last_insert_id();");
            //修改数据
            con.Execute("update user set UserName = ‘linezero123‘ where Id = @Id", new { Id = id });
            //查询数据
            var list=con.Query<User>("select * from user");
            foreach (var item in list)
            {
                Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
            }
            //删除数据
            con.Execute("delete from user where Id = @Id", new { Id = id });
            Console.WriteLine("删除数据后的结果");
            list = con.Query<User>("select * from user");
            foreach (var item in list)
            {
                Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");
            }
            Console.ReadKey();
        }

简单使用Dapper,更多功能可以查看官方文档。

执行效果:

GitHub :https://github.com/linezero/Blog/tree/master/NETCoreMySQL

转载自 http://www.cnblogs.com/linezero/p/NETCoreMySQL.html

时间: 2024-10-13 00:17:14

.NET Core 使用Dapper 操作MySQL的相关文章

.net4.0使用Dapper操作MySql

准备使用Dapper操作MySql,由于电脑只有vs2010,所以需要Dapper和MySql组件支持.net 4.0.经过一番测试,终于弄出一个DEMO. 1.操作MySql需要用MySql.Data.dll.MySql.Data.dll有多个版本,官网关于版本的说明链接如下:https://dev.mysql.com/doc/connector-net/en/connector-net-versions.html支持.net4.0的MySql.Data.dll的比较新版本是6.9系列.我下载

使用Dapper操作Mysql数据库

首先我想说明一下:相比最原始的ADO.NET,一般都认为封装过一层的ORM性能上会有损耗,但其实在使用中你会发现,当你需要把数据库对象转化为实体模型时,很多所谓的DbHelper其实封装的很低效,反而是成熟的orm框架性能非常高: 在操作之前先在nuget里获取dapper和mysql.data的程序包: 插入数据: /// <summary> /// 增加一条数据 /// </summary> public bool Add(User model) { int cnt = 0;

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

Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatable read (可重读) Serializable 序列化 总结 事务隔离级别 .NET Core中的IDbConnection接口提供了BeginTransaction方法作为执行事务,BeginTransaction方法提供了两个重载,一个不需要参数BeginTransaction()默认事务

asp.net core 1.1 升级后,操作mysql出错的解决办法。

遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升级操作. 操作步骤及内容 如果你的项目已经引用过以下几部分内容,请依次升级内容: PM> Update-Package Microsoft.EntityFrameworkCore PM> Update-Package Microsoft.EntityFrameworkCore.SqlServer

ef core操作mysql

ef core操作mysql当前官方提供的最新版本是:8.0.1 需要安装的包分别是: MySql.Data MySql.Data.EntityFrameworkCore MySql.Data.EntityFrameworkCore.Design 其他的安装包不用安装,如果安装了其他版本的依赖包则会报错: 接下来就可以连接mysql了 public class Blog { public int Id { get; set; } public string Title { get; set; }

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

Dapper作为.NET生态中广为人知的轻量级ORM类库在.NET Core里仍能被有效利用,并且其不但可以连通SQL Server数据库还提供对其它数据库,比如MySQL的支持.这里试验了一下通过Dapper连接MySQL的方法. MySQL 可以选择直接安装在原生系统中或是Docker里. Official Docker Table 在MySQL中建立两张表. city表: CREATE TABLE `city` ( `ID` int(11) NOT NULL AUTO_INCREMENT,

ASP .Net Core 使用 Dapper 轻型ORM框架

一:优势 1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dll. 2,Dapper很快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 3,Dapper支持什么数据库.Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如果你知道原理也可以让它支持Mongo db 4,Dapper的r支持多表并联的对象.支持一对多 多对多的关系.并且

net Core 通过 Ef Core 访问、管理Mysql

net Core 通过 Ef Core 访问.管理Mysql 本文地址:http://www.cnblogs.com/likeli/p/5910524.html 环境 dotnet Core版本:1.0.0-preview2-003131 本文分为Window环境和Mac Os X环境. 相关资源下载 Visual Studio Code:https://code.visualstudio.com DotNet Core:https://dotnet.github.io/ MySql.Data.

python操作mysql ------- SqlAchemy正传

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1