.NET Core 使用Dapper 操作MySQL

來源:互聯網
上載者:User

標籤:

.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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.