netCore如何操作多個數據庫,可以用Dapper


.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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM