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

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

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

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

classUsers

{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 = new List();using (MySqlConnection conn = newMySqlConnection(connString))

{

conn.Open();using (MySqlCommand cmd = newMySqlCommand(sql, conn))

{

MySqlDataReader dr=cmd.ExecuteReader();while(dr.Read())

{

users.Add(newUsers

{

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

}

结果如下:

f665c912c2a073fd566b81e9e89c9036.png

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 = new List();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(newUsers

{

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

}

结果如下:

939dcbf8692cf5d4016f62b58f981483.png

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

92ec67c9fc17384de300ff3f771acc10.png

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

b941a3ae678e6915e21f0d2f4d64e779.png

这就是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 = new List();

{using (MySqlConnection conn = newMySqlConnection(connString))

{

conn.Open();

users= conn.Query(sql);

}

users.ToList().ForEach(u=>{

Console.WriteLine($"{u.Id}. 姓名:{u.Name},用户名:{u.UserName}");

});

}

Console.ReadKey();

}

结果如下:

9bb3936614668a93d9ec3af0fbfeead1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值