.NET Core 使用Dapper 操作MySQL
2023-09-27 14:28:59 时间
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
如果你觉得本文对你有帮助,请点击“推荐”,谢谢。
相关文章
- mysql在linux下的安装
- Mysql复制一条或多条记录并插入表|mysql从某表复制一条记录到另一张表
- 推荐 4 款 MySQL 调优工具,大牛都在用!
- 阿里云linux下修改mysql默认密码(xampp环境)- 原创
- Mysql 临时变量的 定义 和 赋值 Set 和 Into 赋值; Swith Mysql版本 Case When的用法
- MySQL之表连接-> 内连接,左外连接,右外链接,全连接
- CentOS 7安装mysql-5.6.17
- Mysql事务隔离级别
- 2022-09-23 mysql-innodb-自定义函数-函数参数赋值-记录
- 大意了,一次MySQL分页导致的线上事故...
- .NET Core(C#) Hangfire定时任务组件安装配置及使用(MySQL持久化)
- .NET(C#) MySQL conn.Open()报错:SSL Connection error的解决方法
- .NET(C#) 操作MySQL报错Character set 'utf8mb3' is not supported 解决方法
- MySQL复制(一)--复制概述
- mysql不能正常yum remove怎么办?--noscripts
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- mysql索引 多个单列索引和联合索引的区别
- mysql 数据库迁移