码迷,mamicode.com
首页 > 移动开发 > 详细

.net core系列之《.net core中使用MySql以及Dapper》

时间:2018-09-30 18:09:25      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:OLE   选择   static   pre   nbsp   values   技术分享   dap   nec   

当我们决定使用.Net Core开发的时候,就放弃使用SqlServer的打算吧。那应该选择哪个数据库呢?一般选择MySql的比较多。

接下来我们来演示在.Net Core中使用MySQL吧。

1、原生模式(不要忘记安装 MySql.Data )

    class Users
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
        public string Email { get; set; }
    }
        static void Main(string[] args)
        {
            var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;";
            string sql = "SELECT * FROM Users";
            List<Users> users = new List<Users>();
            using (MySqlConnection conn = new MySqlConnection(connString))
            {
                conn.Open();
                using (MySqlCommand cmd = new MySqlCommand(sql, conn))
                {
                    MySqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        users.Add(new Users
                        {
                            Id = Convert.ToInt32(dr["Id"]),
                            Name = dr["Name"].ToString(),
                            UserName = dr["UserName"].ToString(),
                            Password = dr["Password"].ToString(),
                            Email = dr["Email"].ToString(),
                        });
                    }
                }
            }
            users.ForEach(u =>
            {
                Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}");
            });

            Console.ReadKey();
        }

 结果如下:

技术分享图片

2、MySqlHelper类:MySql.Data命名空间下为我们封装好了一个MySqlHelper类,一些基本常用的操作都给我们封装好了

        static void Main(string[] args)
        {
            var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;";
            string sql = "INSERT INTO Users(Name,UserName,Password,Email) VALUES (‘tangsan‘,‘tangsan‘,‘123456‘,‘55@qq.com‘)";
            List<Users> users = new List<Users>();
            int result = MySqlHelper.ExecuteNonQuery(connString, sql);
            Console.WriteLine($"result={result}");
            sql = "SELECT * FROM Users";
            MySqlDataReader dr = MySqlHelper.ExecuteReader(connString, sql);
            while (dr.Read())
            {
                users.Add(new Users
                {
                    Id = Convert.ToInt32(dr["Id"]),
                    Name = dr["Name"].ToString(),
                    UserName = dr["UserName"].ToString(),
                    Password = dr["Password"].ToString(),
                    Email = dr["Email"].ToString(),
                });
            }
            users.ForEach(u =>
            {
                Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}");
            });
            Console.ReadKey();
        } 

结果如下:

技术分享图片

由上面的代码可以看出,动作查询还是很方便的,但是查询一个集合的时候还是挺麻烦的,接下来我们用Dapper来试试吧:

技术分享图片

 

我们可以看出这个类是没有扩展方法的,现在我们打开NuGet安装包安装Dapper后再来看看

 技术分享图片

这就是Dapper为MySqlConnection类封装的扩展类。

        static void Main(string[] args)
        {
            var connString = "server=192.168.254.135;userid=root;pwd=123456;port=3306;database=Sample;SslMode=none;";
            string sql = "SELECT * FROM Users";
            IEnumerable<Users> users = new List<Users>();
            {
                using (MySqlConnection conn = new MySqlConnection(connString))
                {
                    conn.Open();
                    users= conn.Query<Users>(sql);
                }
                users.ToList().ForEach(u =>
                {
                    Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}");
                });
            }
            Console.ReadKey();
        }

 

 结果如下:

技术分享图片

.net core系列之《.net core中使用MySql以及Dapper》

标签:OLE   选择   static   pre   nbsp   values   技术分享   dap   nec   

原文地址:https://www.cnblogs.com/hhzblogs/p/9732636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!