標籤:
.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 -PreInstall-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
如果你覺得本文對你有協助,請點擊“推薦”,謝謝。
.NET Core 使用Dapper 操作MySQL