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

丈夫欲遂平生志,一载寒窗一举汤。这篇文章主要讲述.net core系列之《.net core中使用MySql以及Dapper》相关的知识,希望能为你提供帮助。
当我们决定使用.Net Core开发的时候,就放弃使用SqlServer的打算吧。那应该选择哪个数据库呢?一般选择mysql的比较多。
接下来我们来演示在.Net Core中使用MySQL吧。
【.net core系列之《.net core中使用MySql以及Dapper》】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(); }

  结果如下:
.net core系列之《.net core中使用MySql以及Dapper》

文章图片

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(); } 

结果如下:
.net core系列之《.net core中使用MySql以及Dapper》

文章图片

由上面的代码可以看出,动作查询还是很方便的,但是查询一个集合的时候还是挺麻烦的,接下来我们用Dapper来试试吧:
.net core系列之《.net core中使用MySql以及Dapper》

文章图片

 
我们可以看出这个类是没有扩展方法的,现在我们打开NuGet安装包安装Dapper后再来看看
 
.net core系列之《.net core中使用MySql以及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》

文章图片


    推荐阅读